快捷方式

MultiThreadedEnvWrapper

torchrl.envs.MultiThreadedEnvWrapper(*args, **kwargs)[源代码]

基于 envpool 的多线程环境封装器。

GitHub: https://github.com/sail-sg/envpool

论文: https://arxiv.org/abs/2206.10558

参数:
  • env (envpool.python.envpool.EnvPoolMixin) – 要封装的 envpool 实例。

  • categorical_action_encoding (bool, 可选) – 如果为 True,分类规格将转换为 TorchRL 等效项 (torchrl.data.Categorical),否则将使用独热编码 (torchrl.data.OneHot)。默认为 False

关键字参数:
  • disable_env_checker (bool, 可选) – 仅适用于 gym > 0.24。如果为 True(这些版本的默认值),则不会运行环境检查器。

  • frame_skip (int, 可选) – 如果提供,表示重复同一动作的步数。返回的观测值将是序列中的最后一个观测值,而奖励将是所有步数的奖励总和。

  • device (torch.device, 可选) – 如果提供,数据将被转换到的设备。默认为 torch.device("cpu")

  • allow_done_after_reset (bool, 可选) – 如果为 True,则允许环境在调用 reset() 后立即处于 done 状态。默认为 False

变量:

batch_size – 同时运行的环境数量。

示例

>>> import envpool
>>> from torchrl.envs import MultiThreadedEnvWrapper
>>> env_base = envpool.make(
...     task_id="Pong-v5", env_type="gym", num_envs=4, gym_reset_return_info=True
... )
>>> env = MultiThreadedEnvWrapper(envpool_env)
>>> env.reset()
>>> env.rand_step()

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源