快捷方式

VecGymEnvTransform

class torchrl.envs.transforms.VecGymEnvTransform(final_name='final')[source]

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[source]

读取输入 tensordict,并为选定的键应用转换。

transform_observation_spec(observation_spec: TensorSpec) TensorSpec[source]

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

参数:

observation_spec (TensorSpec) – 转换前的规范

返回:

转换后的预期规范

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源