OmniSafe Offline Model#

Observation Encoder#

Documentation

class omnisafe.models.offline.dice.ObsEncoder(obs_space, act_space, hidden_sizes, activation='relu', weight_initialization_mode='kaiming_uniform', out_dim=1)[source]#

Implementation of observation encoder.

Observation encoder is used to encode observation into a latent vector. It is similar to the QCritic, but the output dimension is not limited to 1. DICE-based algorithms often use the network like this to encode observation.

Parameters:
  • obs_space (OmnisafeSpace) – observation space.

  • act_space (OmnisafeSpace) – action space.

  • hidden_sizes (list of int) – List of hidden layer sizes.

  • activation (Activation, optional) – Activation function. Defaults to 'relu'.

  • weight_initialization_mode (InitFunction, optional) – Weight initialization mode. Defaults to 'kaiming_uniform'.

  • out_dim (int, optional) – Output dimension. Defaults to 1.

Initialize an instance of ObsEncoder.

forward(obs)[source]#

Forward function.

When out_dim is 1, the output is squeezed to remove the last dimension.

Parameters:

obs (torch.Tensor) – Observation.

Return type:

Tensor