class_docstr: A Ornstein Uhlenbeck action noise, this is designed to approximate brownian motion with friction.
  
  Based on http://math.stackexchange.com/questions/1287634/implementing-ornstein-uhlenbeck-in-matlab
  
  :param mean: (float) the mean of the noise
  :param sigma: (float) the scale of the noise
  :param theta: (float) the rate of mean reversion
  :param dt: (float) the timestep for the noise
  :param initial_noise: ([float]) the initial value for the noise output, (if None: 0)
class_docstr_tok: ["A","Ornstein","Uhlenbeck","action","noise",",","this","is","designed","to","approximate","brownian","motion","with","friction",".","Based","on","http",":","\/\/math.stackexchange.com\/questions\/1287634\/implementing-ornstein-uhlenbeck-in-matlab",":","param","mean",":","(","float",")","the","mean","of","the","noise",":","param","sigma",":","(","float",")","the","scale","of","the","noise",":","param","theta",":","(","float",")","the","rate","of","mean","reversion",":","param","dt",":","(","float",")","the","timestep","for","the","noise",":","param","initial_noise",":","(","[","float","]",")","the","initial","value","for","the","noise","output",",","(","if","None",":","0",")"]
code: def __init__(
      self, mean, sigma, theta=0.15, dt=1e-2, initial_noise=None
  ):
      super().__init__()
      self._theta = theta
      self._mu = mean
      self._sigma = sigma
      self._dt = dt
      self.initial_noise = initial_noise
      self.noise_prev = None
      self.reset()
  
imports: from abc import ABC, abstractmethod
  import numpy
label_desc: Use image node_id 1 to create a new OrnsteinUhlenbeckActionNoise object from inherited base classes: ActionNoise with example: obj = OrnsteinUhlenbeckActionNoise(mean, sigma, theta, dt, initial_noise)