code: def _build_dataloader(self):
      self.graph_name = self.config["graph_construction_args"][
          "graph_construction_share"
      ]["graph_name"]
      topology_subdir = "{}_graph".format(self.graph_name)
      if self.graph_name == "node_emb_refined":
          topology_subdir += "_{}".format(
              self.config["graph_construction_args"][
                  "graph_construction_private"
              ]["dynamic_init_graph_name"]
          )
  
      dataset = TrecDataset(
          root_dir=self.config["graph_construction_args"][
              "graph_construction_share"
          ]["root_dir"],
          topology_subdir=topology_subdir,
          graph_name=self.graph_name,
          dynamic_init_graph_name=self.config[
              "graph_construction_args"
          ]["graph_construction_private"]["dynamic_init_graph_name"],
          dynamic_init_topology_aux_args={"dummy_param": 0},
          pretrained_word_emb_name=self.config[
              "pretrained_word_emb_name"
          ],
          merge_strategy=self.config["graph_construction_args"][
              "graph_construction_private"
          ]["merge_strategy"],
          edge_strategy=self.config["graph_construction_args"][
              "graph_construction_private"
          ]["edge_strategy"],
          min_word_vocab_freq=self.config.get("min_word_freq", 1),
          word_emb_size=self.config.get("word_emb_size", 300),
          seed=self.config["seed"],
          thread_number=self.config["graph_construction_args"][
              "graph_construction_share"
          ]["thread_number"],
          port=self.config["graph_construction_args"][
              "graph_construction_share"
          ]["port"],
          timeout=self.config["graph_construction_args"][
              "graph_construction_share"
          ]["timeout"],
          reused_label_model=None,
      )
  
      self.train_dataloader = DataLoader(
          dataset.train,
          batch_size=self.config["batch_size"],
          shuffle=True,
          num_workers=self.config["num_workers"],
          collate_fn=dataset.collate_fn,
      )
      if not hasattr(dataset, "val"):
          dataset.val = dataset.test
      self.val_dataloader = DataLoader(
          dataset.val,
          batch_size=self.config["batch_size"],
          shuffle=False,
          num_workers=self.config["num_workers"],
          collate_fn=dataset.collate_fn,
      )
      self.test_dataloader = DataLoader(
          dataset.test,
          batch_size=self.config["batch_size"],
          shuffle=False,
          num_workers=self.config["num_workers"],
          collate_fn=dataset.collate_fn,
      )
      self.vocab_model = dataset.vocab_model
      self.label_model = dataset.label_model
      self.config["num_classes"] = self.label_model.num_classes
      self.num_train = len(dataset.train)
      self.num_val = len(dataset.val)
      self.num_test = len(dataset.test)
      print(
          "Train size: {}, Val size: {}, Test size: {}".format(
              self.num_train, self.num_val, self.num_test
          )
      )
      self.logger.write(
          "Train size: {}, Val size: {}, Test size: {}".format(
              self.num_train, self.num_val, self.num_test
          )
      )
  
imports: import argparse
  import os
  import time
  import numpy
  import torch
  import torch.backends.cudnn
  import torch.multiprocessing
  import torch.nn
  import torch.nn.functional
  import torch.optim
  import yaml
  from torch.optim.lr_scheduler import ReduceLROnPlateau
  from torch.utils.data import DataLoader
  from graph4nlp.pytorch.datasets.trec import TrecDataset
  from graph4nlp.pytorch.modules.evaluation.accuracy import Accuracy
  from graph4nlp.pytorch.modules.graph_construction import NodeEmbeddingBasedGraphConstruction, NodeEmbeddingBasedRefinedGraphConstruction
  from graph4nlp.pytorch.modules.graph_embedding_initialization.embedding_construction import WordEmbedding
  from graph4nlp.pytorch.modules.graph_embedding_initialization.graph_embedding_initialization import GraphEmbeddingInitialization
  from graph4nlp.pytorch.modules.graph_embedding_learning import GAT, GGNN, GraphSAGE
  from graph4nlp.pytorch.modules.loss.general_loss import GeneralLoss
  from graph4nlp.pytorch.modules.prediction.classification.graph_classification import FeedForwardNN
  from graph4nlp.pytorch.modules.utils import constants
  from graph4nlp.pytorch.modules.utils.generic_utils import EarlyStopping, grid, to_cuda
  from graph4nlp.pytorch.modules.utils.logger import Logger
label_desc: Use image node_id 2 for calling the ModelHandler obj's underlying member method code with example usage: obj._build_dataloader() without return types