code: def sample(self, nodes):
      graph_list = []
      for i in range(len(self.samples_list)):
          edge_split = []
          neighbors_all = []
          neighbor_counts_all = []
          for j, csc in enumerate(self.csc_graphs):
              (
                  neighbors,
                  neighbor_counts,
              ) = paddle.geometric.sample_neighbors(
                  csc[0],
                  csc[1],
                  nodes,
                  sample_size=self.samples_list[i][j],
              )
              if neighbors.shape[0] == 0:
                  edge_split.append(0)
              else:
                  edge_split.append(int(paddle.sum(neighbor_counts)))
                  neighbors_all.append(neighbors)
                  neighbor_counts_all.append(neighbor_counts)
  
          (
              edge_src,
              edge_dst,
              out_nodes,
          ) = paddle.geometric.reindex_heter_graph(
              nodes, neighbors_all, neighbor_counts_all
          )
          edge_split = np.cumsum(edge_split).astype("int64")
  
          graph_list.append(
              (
                  edge_src,
                  edge_dst,
                  edge_split,
                  len(nodes),
                  len(out_nodes),
              )
          )
          nodes = out_nodes
  
      graph_list = graph_list[::-1]
      return graph_list, nodes
  
imports: import os
  import pdb
  import argparse
  import numpy
  import yaml
  from easydict import EasyDict
  import paddle
  from paddle.io import Dataset
  from pgl.graph import Graph
  from ogb.lsc import MAG240MDataset
  from pgl.utils.logger import log
  from paddle.framework import core
label_desc: Use image node_id 2 for calling the NeighborSampler obj's underlying member method code with example usage: obj.sample(nodes) and returns: graph_list,  nodes