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: Get the pseudo-random sequence at table index i.
  
  :param i: start index within the table
  :param dim: desired vector length
  
  :return A noise vector with length dim
code: def get(self, i: int, dim: int) -> np.ndarray:
      """Get the pseudo-random sequence at table index i.
  
      :param i: start index within the table
      :param dim: desired vector length
  
      :return A noise vector with length dim
      """
  
      # if the index is near the end of the table we might need to concatenate the vector
      noise = []
  
      end_idx = i + dim
      slice_start_idx = i
      while True:
          slice_end_idx = min(end_idx, len(self.noise))
          noise.append(self.noise[slice_start_idx:slice_end_idx])
          if end_idx <= len(self.noise):
              break
  
          # we need to cycle once more through the table
          slice_start_idx = 0
          end_idx -= len(self.noise)
  
      # stack the parts together
      return np.concatenate(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 2 for calling the SharedNoiseTable obj's underlying member method code with example usage: obj.get(i, dim) and returns: np