class_docstr: Node generator
class_docstr_tok: ["Node","generator"]
code: def __call__(self):
      if self.walk_mode == "m2v":
          generator = self.m2v_node_generate
          log.info("node gen mode is : %s" % (self.walk_mode))
      elif self.walk_mode == "multi_m2v":
          generator = self.multi_m2v_node_generate
          log.info("node gen mode is : %s" % (self.walk_mode))
      elif self.walk_mode == "files":
          generator = self.files_node_generate
          log.info("node gen mode is : %s" % (self.walk_mode))
      else:
          generator = self.m2v_node_generate
          log.info("node gen mode is : %s" % (self.walk_mode))
  
      while True:
          for nodes in generator():
              yield nodes
  
imports: from __future__ import division
  from __future__ import absolute_import
  from __future__ import print_function
  import time
  import io
  import os
  import numpy
  import random
  from pgl.utils.logger import log
  from pgl.sample import metapath_randomwalk
  from pgl.graph_kernel import skip_gram_gen_pair
  from pgl.graph_kernel import alias_sample_build_table
  from utils import load_config
  from graph import m2vGraph
  import mp_reader
label_desc: Use image node_id 2 for calling the NodeGenerator obj's underlying member method code with example usage: obj.__call__() without return types