tianshou.exploration

class tianshou.exploration.BaseNoise[source]

Bases: abc.ABC, object

The action noise base class.

reset()None[source]

Reset to the initial state.

abstract __call__(size: Sequence[int])numpy.ndarray[source]

Generate new noise.

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

Bases: tianshou.exploration.random.BaseNoise

The vanilla Gaussian process, for exploration in DDPG by default.

__call__(size: Sequence[int])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.

reset()None[source]

Reset to the initial state.

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

Generate new noise.

Return an numpy array which size is equal to size.