OnlineDTActor¶
- class torchrl.modules.OnlineDTActor(state_dim: int, action_dim: int, transformer_config: dict | DecisionTransformer.DTConfig = None, device: DEVICE_TYPING | None = None)[来源]¶
Online Decision Transformer Actor 类。
用于 Online Decision Transformer 的 Actor 类,用于从高斯分布中采样动作,如 “Online Decision Transformer” 中所述。
返回用于从高斯分布中采样动作的均值和标准差。
- 参数:
state_dim (int) – 状态维度。
action_dim (int) – 动作维度。
transformer_config (Dict 或
DecisionTransformer.DTConfig
) – GPT2 transformer 的配置。默认为default_config()
。device (torch.device, 可选) – 要使用的设备。默认为 None。
示例
>>> model = OnlineDTActor(state_dim=4, action_dim=2, ... transformer_config=OnlineDTActor.default_config()) >>> observation = torch.randn(32, 10, 4) >>> action = torch.randn(32, 10, 2) >>> return_to_go = torch.randn(32, 10, 1) >>> mu, std = model(observation, action, return_to_go) >>> mu.shape torch.Size([32, 10, 2]) >>> std.shape torch.Size([32, 10, 2])
- classmethod default_config()[来源]¶
OnlineDTActor
的默认配置。
- forward(observation: Tensor, action: Tensor, return_to_go: Tensor) tuple[torch.Tensor, torch.Tensor] [来源]¶
定义每次调用时执行的计算。
所有子类都应重写此方法。
注意
尽管前向传播的实现需要在此函数中定义,但您应该在之后调用
Module
实例而不是此函数,因为前者会处理注册的钩子,而后者则会静默忽略它们。