class_docstr: Description
  -----------
  GraphSAINT with random walk sampler
  
  Parameters
  ----------
  num_roots : int
      the number of roots to generate random walks.
  length : int
      the length of each random walk.
class_docstr_tok: ["Description","--","--","--","--","--","-","GraphSAINT","with","random","walk","sampler","Parameters","--","--","--","--","--","num_roots",":","int","the","number","of","roots","to","generate","random","walks",".","length",":","int","the","length","of","each","random","walk","."]
code: def __sample__(self):
      sampled_roots = th.randint(
          0, self.train_g.num_nodes(), (self.num_roots,)
      )
      traces, types = random_walk(
          self.train_g, nodes=sampled_roots, length=self.length
      )
      sampled_nodes, _, _, _ = pack_traces(traces, types)
      sampled_nodes = sampled_nodes.unique()
      return sampled_nodes.numpy()
  
imports: import math
  import os
  import random
  import time
  import dgl
  import dgl.function
  import numpy
  import scipy
  import torch
  from dgl.sampling import pack_traces, random_walk
  from torch.utils.data import DataLoader
label_desc: Use image node_id 3 for calling the SAINTRandomWalkSampler obj's underlying member method code with example usage: obj.__sample__() and returns: sampled_nodes