code: def _build_dataloader(self):
      para_dic = {
          "root_dir": self.data_dir,
          "word_emb_size": self.opt["graph_initialization_args"][
              "input_size"
          ],
          "topology_subdir": self.opt["graph_construction_args"][
              "graph_construction_share"
          ]["topology_subdir"],
          "edge_strategy": self.opt["graph_construction_args"][
              "graph_construction_private"
          ]["edge_strategy"],
          "graph_name": self.opt["graph_construction_args"][
              "graph_construction_share"
          ]["graph_name"],
          "share_vocab": self.use_share_vocab,
          "enc_emb_size": self.opt["graph_initialization_args"][
              "input_size"
          ],
          "dec_emb_size": self.opt["decoder_args"]["rnn_decoder_share"][
              "input_size"
          ],
          "dynamic_init_graph_name": self.opt[
              "graph_construction_args"
          ]["graph_construction_private"].get(
              "dynamic_init_graph_name", None
          ),
          "min_word_vocab_freq": self.opt["min_freq"],
          "pretrained_word_emb_name": self.opt[
              "pretrained_word_emb_name"
          ],
          "pretrained_word_emb_url": self.opt[
              "pretrained_word_emb_url"
          ],
          "pretrained_word_emb_cache_dir": self.opt[
              "pretrained_word_emb_cache_dir"
          ],
      }
  
      dataset = MathQADatasetForTree(**para_dic)
  
      self.train_data_loader = DataLoader(
          dataset.train,
          batch_size=self.opt["batch_size"],
          shuffle=True,
          num_workers=0,
          collate_fn=dataset.collate_fn,
      )
      self.test_data_loader = DataLoader(
          dataset.test,
          batch_size=1,
          shuffle=False,
          num_workers=0,
          collate_fn=dataset.collate_fn,
      )
      self.valid_data_loader = DataLoader(
          dataset.val,
          batch_size=1,
          shuffle=False,
          num_workers=0,
          collate_fn=dataset.collate_fn,
      )
      self.vocab_model = dataset.vocab_model
      self.src_vocab = self.vocab_model.in_word_vocab
      self.tgt_vocab = self.vocab_model.out_word_vocab
      self.share_vocab = (
          self.vocab_model.share_vocab if self.use_share_vocab else None
      )
  
imports: import copy
  import random
  import time
  import warnings
  import numpy
  import torch
  import torch.optim
  from torch.utils.data import DataLoader
  from tqdm import tqdm
  from graph4nlp.pytorch.datasets.mathqa import MathQADatasetForTree
  from graph4nlp.pytorch.models.graph2tree import Graph2Tree
  from graph4nlp.pytorch.modules.utils.tree_utils import Tree
label_desc: Use image node_id 2 for calling the MathQA obj's underlying member method code with example usage: obj._build_dataloader() without return types