快捷方式

DdpgMlpActor

class torchrl.modules.DdpgMlpActor(action_dim: int, mlp_net_kwargs: dict | None = None, device: DEVICE_TYPING | None = None)[源代码]

DDPG Actor 类。

在“使用深度强化学习进行连续控制”中提出,https://arxiv.org/pdf/1509.02971.pdf

DDPG Actor 将观测向量作为输入,并从中返回一个动作。它经过训练以最大化 DDPG Q 值网络返回的值。

参数:
  • action_dim (int) – 动作向量的长度

  • mlp_net_kwargs (dict, 可选) –

    MLP 的关键字参数。默认为

    >>> {
    ...     'in_features': None,
    ...     'out_features': action_dim,
    ...     'depth': 2,
    ...     'num_cells': [400, 300],
    ...     'activation_class': nn.ELU,
    ...     'bias_last_layer': True,
    ... }
    

  • device (torch.device, 可选) – 创建模块的设备。

示例

>>> import torch
>>> from torchrl.modules import DdpgMlpActor
>>> actor = DdpgMlpActor(action_dim=4)
>>> print(actor)
DdpgMlpActor(
  (mlp): MLP(
    (0): LazyLinear(in_features=0, out_features=400, bias=True)
    (1): ELU(alpha=1.0)
    (2): Linear(in_features=400, out_features=300, bias=True)
    (3): ELU(alpha=1.0)
    (4): Linear(in_features=300, out_features=4, bias=True)
  )
)
>>> obs = torch.zeros(10, 6)
>>> action = actor(obs)
>>> print(action.shape)
torch.Size([10, 4])
forward(observation: Tensor) Tensor[源代码]

定义每次调用时执行的计算。

所有子类都应覆盖此方法。

注意

尽管正向传递的配方需要在此函数中定义,但应该之后调用 Module 实例,而不是此函数,因为前者负责运行注册的钩子,而后者则会静默地忽略它们。

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并解答您的问题

查看资源