class_docstr: Abstract base class for Random Walk classes. A Random Walk class must implement a ``run`` method
  which takes an iterable of node IDs and returns a list of walks. Each walk is a list of node IDs
  that contains the starting node as its first element.
class_docstr_tok: ["Abstract","base","class","for","Random","Walk","classes",".","A","Random","Walk","class","must","implement","a","``","run","``","method","which","takes","an","iterable","of","node","IDs","and","returns","a","list","of","walks",".","Each","walk","is","a","list","of","node","IDs","that","contains","the","starting","node","as","its","first","element","."]
code: def _validate_walk_params(nodes, n, length):
      if not is_real_iterable(nodes):
          raise ValueError(
              f"nodes: expected an iterable, found: {nodes}"
          )
      if len(nodes) == 0:
          warnings.warn(
              "No root node IDs given. An empty list will be returned as a result.",
              RuntimeWarning,
              stacklevel=3,
          )
  
      require_integer_in_range(n, "n", min_val=1)
      require_integer_in_range(length, "length", min_val=1)
  
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 3 for calling the RandomWalk obj's underlying member method code with example usage: obj._validate_walk_params(nodes, n, length) without return types