tianshou.exploration

class tianshou.exploration.BaseNoise(**kwargs)[source]

Bases: abc.ABC, object

The action noise base class.

abstract __call__(**kwargs) → numpy.ndarray[source]

Generate new noise.

reset() → None[source]

Reset to the initial state.

class tianshou.exploration.GaussianNoise(mu: float = 0.0, sigma: float = 1.0)[source]

Bases: tianshou.exploration.random.BaseNoise

Class for vanilla gaussian process, used for exploration in DDPG by default.

__call__(size: tuple) → numpy.ndarray[source]

Generate new noise.

class tianshou.exploration.OUNoise(mu: float = 0.0, sigma: float = 0.3, theta: float = 0.15, dt: float = 0.01, x0: Optional[Union[float, numpy.ndarray]] = None)[source]

Bases: tianshou.exploration.random.BaseNoise

Class for Ornstein-Uhlenbeck process, as used for exploration in DDPG. Usage:

# init
self.noise = OUNoise()
# generate noise
noise = self.noise(logits.shape, eps)

For required parameters, you can refer to the stackoverflow page. However, our experiment result shows that (similar to OpenAI SpinningUp) using vanilla gaussian process has little difference from using the Ornstein-Uhlenbeck process.

__call__(size: tuple, mu: Optional[float] = None) → numpy.ndarray[source]

Generate new noise. Return a numpy.ndarray which size is equal to size.

reset() → None[source]

Reset to the initial state.