UnityMLAgentsWrapper¶
- torchrl.envs.UnityMLAgentsWrapper(*args, **kwargs)[源]¶
Unity ML-Agents 环境包装器。
GitHub: https://github.com/Unity-Technologies/ml-agents
Documentation: https://unity-technologies.github.io/ml-agents/Python-LLAPI/
- 参数:
env (mlagents_envs.environment.UnityEnvironment) – 要包装的 ML-Agents 环境。
- 关键字参数:
device (torch.device, 可选) – 如果提供,则表示数据要转换为的设备。默认为
None
。batch_size (torch.Size, 可选) – 环境的批处理大小。默认为
torch.Size([])
。allow_done_after_reset (bool, 可选) – 如果为
True
,则允许在调用reset()
后立即将环境设置为done
。默认为False
。group_map (MarlGroupMapType 或 Dict[str, List[str]]], 可选) – 如何将智能体分组到 tensordicts 中以进行输入/输出。有关更多信息,请参阅
MarlGroupMapType
。如果未指定,则智能体将根据 Unity 环境提供的组 ID 进行分组。默认为None
。categorical_actions (bool, 可选) – 如果为
True
,则分类规范将转换为等效的 TorchRL 格式(torchrl.data.Categorical
),否则将使用独热编码(torchrl.data.OneHot
)。默认为False
。
- 变量:
available_envs – 用于构建的已注册环境列表
示例
>>> from mlagents_envs.environment import UnityEnvironment >>> base_env = UnityEnvironment() >>> from torchrl.envs import UnityMLAgentsWrapper >>> env = UnityMLAgentsWrapper(base_env) >>> td = env.reset() >>> td = env.step(td.update(env.full_action_spec.rand()))