快捷方式

VecGymEnvTransform

class torchrl.envs.transforms.VecGymEnvTransform(final_name='final')[源代码]

用于 GymWrapper 子类的转换,以一致的方式处理自动重置。

Gym、gymnasium 和 SB3 提供了自动重置的矢量化(即并行或批处理)环境。发生这种情况时,实际的观测结果(由动作产生的)保存在 info 中的一个键内。类 torchrl.envs.libs.gym.terminal_obs_reader 读取该观测结果并将其存储在输出 tensordict 中的 "final" 键中。反过来,此转换读取最终数据,将其与替换实际重置产生的观测结果(写在其位置),并将重置输出保存到私有容器中。生成的数据真正反映了步骤的输出。

此类适用于从 gym 0.13 到最新的 gymnasium 版本。

注意

Gym 版本 < 0.22 不会返回最终的观测结果。对于这些版本,我们只需将下一个观测结果填充为 NaN(因为它们已丢失)并在下一步进行交换。

然后,在调用 env.reset 时,保存的数据将被写回到它所属的位置(reset 是一个空操作)。

每当使用异步环境创建包装器时,此转换将自动附加到 gym 环境中。

参数:

final_name (str, 可选) – 字典中最终观测结果的名称。默认为 “final”

注意

通常,此类不应直接处理。每当矢量化环境被放置在 GymWrapper 中时,它都会被创建。

forward(tensordict: TensorDictBase) TensorDictBase[源代码]

读取输入 tensordict,并针对所选键应用转换。

transform_observation_spec(observation_spec: TensorSpec) TensorSpec[源代码]

转换观测规范,以使结果规范匹配转换映射。

参数:

observation_spec (TensorSpec) – 转换前的规范

返回值:

转换后的预期规范

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

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

查看教程

资源

查找开发资源并获得问题的答案

查看资源