code: def __init__(
      self,
      data_folder,
      vocab,
      batch_size,
      num_workers=4,
      shuffle=True,
      y_assm=True,
      replicate=None,
  ):
      self.data_folder = data_folder
      self.data_files = [fn for fn in os.listdir(data_folder)]
      self.batch_size = batch_size
      self.vocab = vocab
      self.num_workers = num_workers
      self.y_assm = y_assm
      self.shuffle = shuffle
  
      if replicate is not None:  # expand is int
          self.data_files = self.data_files * replicate
  
imports: import pickle
  import os
  import random
  import torch
  import numpy
  from torch.utils.data import Dataset, DataLoader
  from .mol_tree import MolTree
  from .jtnn_enc import JTNNEncoder
  from .mpn import MPN
  from .jtmpn import JTMPN
  from .vocab import Vocab
label_desc: Use image node_id 1 to create a new PairTreeFolder object from inherited base classes: object with example: obj = PairTreeFolder(data_folder, vocab, batch_size, num_workers, shuffle, y_assm, replicate)