RoboHiveEnv¶
- torchrl.envs.RoboHiveEnv(*args, **kwargs)[源代码]¶
RoboHive gym 环境的一个封装器。
RoboHive 是一个环境/任务集合,这些环境/任务使用 MuJoCo 物理引擎进行模拟,并通过 OpenAI-Gym API 暴露出来。
Github: https://github.com/vikashplus/robohive/
文档: https://github.com/vikashplus/robohive/wiki
论文: https://arxiv.org/abs/2310.06828
警告
RoboHive 需要 gym 0.13。
- 参数:
env_name (str) – 要构建的环境名称。必须是
available_envs
中的一个categorical_action_encoding (bool, 可选) – 如果
True
,分类 specs 将转换为等价的 TorchRL 类型 (torchrl.data.Categorical
),否则将使用独热编码 (torchrl.data.OneHot
)。默认为False
。
- 关键字参数:
from_pixels (bool, 可选) – 如果
True
,将尝试从环境中返回像素观察结果。默认情况下,这些观察结果将写入"pixels"
条目下。使用的方法因 gym 版本而异,可能涉及wrappers.pixel_observation.PixelObservationWrapper
。默认为False
。pixels_only (bool, 可选) – 如果
True
,仅返回像素观察结果(默认写入输出 tensordict 的"pixels"
条目下)。如果False
,则当from_pixels=True
时,将同时返回观察结果(例如,状态)和像素。默认为True
。from_depths (bool, 可选) – 如果
True
,将尝试从环境中返回深度观察结果。默认情况下,这些观察结果将写入"depths"
条目下。需要from_pixels
为True
。默认为False
。frame_skip (int, 可选) – 如果提供,指示重复同一动作的步数。返回的观察结果将是序列中的最后一个观察结果,而奖励将是这些步数中奖励的总和。
device (torch.device, 可选) – 如果提供,数据将转换为该设备上的张量。默认为
torch.device("cpu")
。batch_size (torch.Size, 可选) –
RoboHiveEnv
仅支持torch.Size([])
,因为此类中不支持向量化环境。要同时执行多个环境,请参阅ParallelEnv
。allow_done_after_reset (bool, 可选) – 如果
True
,则允许环境在调用reset()
后立即达到终止状态。默认为False
。
- 变量:
available_envs (list) – 可用于构建的环境列表。
示例
>>> from torchrl.envs import RoboHiveEnv >>> env = RoboHiveEnv(RoboHiveEnv.available_envs[0]) >>> env.rollout(3)