check_env_specs¶
- torchrl.envs.utils.check_env_specs(env: torchrl.envs.EnvBase, return_contiguous: bool | None = None, check_dtype=True, seed: int | None = None, tensordict: TensorDictBase | None = None)[source]¶
针对短暂 rollouts 的结果测试环境规范。
此测试函数应作为包裹了 torchrl 的 EnvBase 子类的环境的健全性检查:预期数据与收集的数据之间的任何差异都应引发断言错误。
损坏的环境规范很可能导致无法使用并行环境。
- 参数:
env (EnvBase) – 需要根据数据检查其规范的环境。
return_contiguous (bool, optional) – 如果为
True
,则随机 rollout 将使用 return_contiguous=True 调用。这在某些情况下会失败(例如,输入/输出的形状不一致)。默认为None
(由动态规范的存在决定)。check_dtype (bool, optional) – 如果为 False,则跳过 dtype 检查。默认为 True。
seed (int, optional) – 为确保可重现性,可以设置一个种子。种子将暂时在 pytorch 中设置,然后 RNG 状态将恢复到之前。对于环境,我们设置了种子,但由于将 RNG 状态恢复到之前不是大多数环境的功能,因此由用户自行完成。默认为
None
。tensordict (TensorDict, optional) – 可选的 tensordict 实例,用于重置。
注意:此函数会重置环境种子。它应在“离线”状态下使用,以检查环境是否已正确构建,但它可能会影响实验的种子设置,因此应避免在训练脚本中使用。