code: def batch_fn(self, batch_ex):
      batch_nodes = []
      cc = 0
      batch_node_id = []
      batch_labels = []
      for ex in batch_ex:
          batch_nodes.append(ex.node)
          batch_labels.append(ex.label)
  
      #         _graph_wrapper = copy.copy(self.graph_wrapper)
      #         graph_list
  
      graph_list = k_hop_sampler(
          self.graph, self.sizes, batch_nodes
      )  # -1 = 全采样操作
  
      feed_dict_all = {}
  
      for i in range(len(self.sizes)):
          feed_dict = self.graph_wrappers[i].to_feed(graph_list[i][0])
          feed_dict_all.update(feed_dict)
          if i == 0:
              feed_dict_all["batch_nodes_" + str(i)] = np.array(
                  graph_list[i][1]
              )
          feed_dict_all["sub_node_index_" + str(i)] = graph_list[i][2]
  
      #         feed_dict = _graph_wrapper.to_feed(subgraph)
      #         feed_dict["batch_nodes"] = np.array(batch_nodes)
      #         feed_dict["sub_node_index"] = sub_node_index
      feed_dict_all["label_all"] = self.labels_all
      feed_dict_all["label"] = np.array(batch_labels, dtype="int64")
      return feed_dict_all
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from __future__ import unicode_literals
  from __future__ import absolute_import
  from dataloader.base_dataloader import BaseDataGenerator
  from pgl.contrib.ogb.nodeproppred.dataset_pgl import PglNodePropPredDataset
  import tqdm
  from collections import namedtuple
  import pgl
  import numpy
  import copy
label_desc: Use image node_id 3 for calling the SampleDataGenerator obj's underlying member method code with example usage: obj.batch_fn(batch_ex) and returns: feed_dict_all