code: def __call__(self, batch_data):
      graph_list = []
      multihop_graph_list = [[] for _ in range(self.config.K + 1)]
      labels = []
      for g, multihop_g_list, y in batch_data:
          if g is None:
              continue
          graph_list.append(g)
          labels.append(y)
          for d in range(self.config.K + 1):
              multihop_graph_list[d].append(multihop_g_list[d])
  
      labels = np.array(labels)
      batch_valid = (labels == labels).astype("bool")
      labels = np.nan_to_num(labels).astype("float32")
  
      g = pgl.Graph.batch(graph_list)
      multihop_graphs = []
      for g_list in multihop_graph_list:
          multihop_graphs.append(pgl.Graph.batch(g_list))
  
      return g, multihop_graphs, labels, batch_valid
  
imports: import os
  import sys
  import json
  import numpy
  import glob
  import copy
  import time
  import argparse
  from collections import OrderedDict, namedtuple
  from scipy.sparse import csr_matrix
  from ogb.graphproppred import GraphPropPredDataset
  from ogb.utils.features import get_atom_feature_dims, get_bond_feature_dims
  import pgl
  import paddle
  from pgl.utils.data.dataset import Dataset, StreamDataset, HadoopDataset
  from pgl.utils.data import Dataloader
  from pgl.utils.logger import log
  from utils.config import prepare_config, make_dir
label_desc: Use image node_id 2 for calling the CollateFn obj's underlying member method code with example usage: obj.__call__(batch_data) and returns: g,  multihop_graphs,  labels,  batch_valid