class_docstr: Maintains cumulative moving mean and std of incoming numpy arrays along axis 0.
  
  Output shapes:
  scalar -> scalar
  vector -> scalar
  matrix -> vector
  
  Implementation adopted from:
  https://github.com/DLR-RM/stable-baselines3/blob/master/stable_baselines3/common/running_mean_std.py
  
  :param epsilon: Ensures numerical stability and avoids division by zero.
class_docstr_tok: ["Maintains","cumulative","moving","mean","and","std","of","incoming","numpy","arrays","along","axis","0",".","Output","shapes",":","scalar","-",">","scalar","vector","-",">","scalar","matrix","-",">","vector","Implementation","adopted","from",":","https",":","\/\/github.com\/DLR-RM\/stable-baselines3\/blob\/master\/stable_baselines3\/common\/running_mean_std.py",":","param","epsilon",":","Ensures","numerical","stability","and","avoids","division","by","zero","."]
code: def __init__(self, epsilon: float = 1e-8):
      self.mean: Optional[np.ndarray] = None
      self.var: Optional[np.ndarray] = None
      self._count: float = epsilon
  
file_path: maze/maze/core/utils/stats_utils.py
imports: from typing import Optional, Union
  import numpy
label_desc: Use image node_id 1 to create a new CumulativeMovingMeanStd object from inherited base classes: object with example: obj = CumulativeMovingMeanStd(epsilon)