class_docstr: A fixed length vector of deterministically generated pseudo-random floats.
  
  This enables a communication strategy for the distributed training, that allows to transfer noise table indices
  instead of full gradient vectors.
  
  :param count: Number of float values in the fixed length table (250.000.000 x 32bit floats = 1GB)
docstr: Sample a random index within the table, taking into account the size of the noise vector.
  
  :param rng: Maze random number generator to be used.
  
  :return: A noise index to be passed to
           :meth:`maze.train.trainers.es.es_shared_noise_table.SharedNoiseTable.get`.
code: def sample_index(self, rng: np.random.RandomState) -> int:
      """Sample a random index within the table, taking into account the size of the noise vector.
  
      :param rng: Maze random number generator to be used.
  
      :return: A noise index to be passed to
               :meth:`maze.train.trainers.es.es_shared_noise_table.SharedNoiseTable.get`.
      """
      return rng.randint(0, len(self.noise))
  
file_path: maze/maze/train/trainers/es/es_shared_noise_table.py
imports: import ctypes
  import itertools
  import multiprocessing
  import numpy
label_desc: Use image node_id 3 for calling the SharedNoiseTable obj's underlying member method code with example usage: obj.sample_index(rng) and returns: rng