捷徑

DdpgMlpActor

class torchrl.modules.DdpgMlpActor(action_dim: int, mlp_net_kwargs: Optional[dict] = None, device: Optional[Union[device, str, int]] = None)[來源]

DDPG Actor 類別。

在 “使用深度強化學習進行連續控制” 中提出,https://arxiv.org/pdf/1509.02971.pdf

DDPG Actor 將觀察向量作為輸入,並從中傳回一個動作。 它經過訓練以最大化 DDPG Q Value 網路傳回的值。

參數:
  • action_dim (int) – 動作向量的長度

  • mlp_net_kwargs (dict, optional) –

    MLP 的 kwargs。 預設為

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

  • device (torch.device, optional) – 在其上建立模組的裝置。

範例

>>> 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 實例,而不是這個函式,因為前者負責執行註冊的 Hook,而後者會默默地忽略它們。

文件

存取 PyTorch 的完整開發者文件

檢視文件

教學課程

取得針對初學者和進階開發者的深入教學課程

檢視教學課程

資源

尋找開發資源並獲得您的問題解答

檢視資源