class_docstr: Performs uniform random walks on the given graph
  
  .. seealso::
  
     Related functionality:
  
     - :class:`.UnsupervisedSampler` for transforming random walks into links for unsupervised training of link prediction models
     - Other random walks: :class:`.BiasedRandomWalk`, :class:`.UniformRandomMetaPathWalk`, :class:`.TemporalRandomWalk`.
  
  Args:
      graph (StellarGraph): Graph to traverse
      n (int, optional): Total number of random walks per root node
      length (int, optional): Maximum length of each random walk
      seed (int, optional): Random number generator seed
class_docstr_tok: ["Performs","uniform","random","walks","on","the","given","graph","..","seealso",":",":","Related","functionality",":","-",":","class",":","`",".UnsupervisedSampler","`","for","transforming","random","walks","into","links","for","unsupervised","training","of","link","prediction","models","-","Other","random","walks",":",":","class",":","`",".BiasedRandomWalk","`",",",":","class",":","`",".UniformRandomMetaPathWalk","`",",",":","class",":","`",".TemporalRandomWalk","`",".","Args",":","graph","(","StellarGraph",")",":","Graph","to","traverse","n","(","int",",","optional",")",":","Total","number","of","random","walks","per","root","node","length","(","int",",","optional",")",":","Maximum","length","of","each","random","walk","seed","(","int",",","optional",")",":","Random","number","generator","seed"]
docstr: Perform a random walk starting from the root nodes. Optional parameters default to using the
  values passed in during construction.
  
  Args:
      nodes (list): The root nodes as a list of node IDs
      n (int, optional): Total number of random walks per root node
      length (int, optional): Maximum length of each random walk
      seed (int, optional): Random number generator seed
  
  Returns:
      List of lists of nodes ids for each of the random walks
docstr_tok: ["Perform","a","random","walk","starting","from","the","root","nodes",".","Optional","parameters","default","to","using","the","values","passed","in","during","construction",".","Args",":","nodes","(","list",")",":","The","root","nodes","as","a","list","of","node","IDs","n","(","int",",","optional",")",":","Total","number","of","random","walks","per","root","node","length","(","int",",","optional",")",":","Maximum","length","of","each","random","walk","seed","(","int",",","optional",")",":","Random","number","generator","seed","Returns",":","List","of","lists","of","nodes","ids","for","each","of","the","random","walks"]
code: def run(self, nodes, *, n=None, length=None, seed=None):
      """
      Perform a random walk starting from the root nodes. Optional parameters default to using the
      values passed in during construction.
  
      Args:
          nodes (list): The root nodes as a list of node IDs
          n (int, optional): Total number of random walks per root node
          length (int, optional): Maximum length of each random walk
          seed (int, optional): Random number generator seed
  
      Returns:
          List of lists of nodes ids for each of the random walks
  
      """
      n = _default_if_none(n, self.n, "n")
      length = _default_if_none(length, self.length, "length")
      self._validate_walk_params(nodes, n, length)
      rs, _ = self._get_random_state(seed)
  
      nodes = self.graph.node_ids_to_ilocs(nodes)
  
      # for each root node, do n walks
      return [
          self._walk(rs, node, length)
          for node in nodes
          for _ in range(n)
      ]
  
imports: import numpy
  import warnings
  from collections import defaultdict, deque
  from scipy import stats
  from scipy.special import softmax
  from ..core.schema import GraphSchema
  from ..core.graph import StellarGraph
  from ..core.utils import is_real_iterable
  from ..core.validation import require_integer_in_range, comma_sep
  from ..random import random_state
  from abc import ABC, abstractmethod
label_desc: Use image node_id 2 for calling the UniformRandomWalk obj's underlying member method code with example usage: obj.run(nodes) and returns: unknown