OffPolicyDoubleQNetwork
OffPolicyDoubleQNetwork(
observation_space: gym.Space, action_space: gym.Space, feature_dim: int = 64,
hidden_dim: int = 1024, opt_class: Type[th.optim.Optimizer] = th.optim.Adam,
opt_kwargs: Optional[Dict[str, Any]] = None, init_fn: str = 'orthogonal'
)
Q-network for off-policy algortithms like DQN
.
Structure: self.encoder (shared by actor and critic), self.qnet, self.qnet_target Optimizers: self.opt -> (self.qnet, self.qnet_target)
Args
- observation_space (gym.Space) : Observation space.
- action_space (gym.Space) : Action space.
- feature_dim (int) : Number of features accepted.
- hidden_dim (int) : Number of units per hidden layer.
- opt_class (Type[th.optim.Optimizer]) : Optimizer class.
- opt_kwargs (Dict[str, Any]) : Optimizer keyword arguments.
- init_fn (str) : Parameters initialization method.
Returns
Actor network instance.
Methods:
.describe
Describe the policy.
.freeze
Freeze all the elements like encoder
and dist
.
Args
- encoder (nn.Module) : Encoder network.
- dist (Distribution) : Distribution class.
Returns
None.
.forward
Sample actions based on observations.
Args
- obs (th.Tensor) : Observations.
- training (bool) : Training mode, True or False.
Returns
Sampled actions.
.save
Save models.
Args
- path (Path) : Save path.
- pretraining (bool) : Pre-training mode.
- global_step (int) : Global training step.
Returns
None.