如何使用vec_env或subcvecEnv并行运行多个健身房?

2024-09-30 22:17:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想并行使用多个(OpenAI)健身房,以加速我的RL模型。在我看来,vec\u env(github repo)正是OpenAI所使用的解决方案。到目前为止,文档(OpenAI documentation for baselines)对我来说是半有用的。具体来说,我有一系列问题:

  1. 从回购中,我看到vec_env constructor是:

    definit(self,num_envs,观察空间,动作空间): ...

这看起来很奇怪,它不应该包含一个规范,我正在使用哪些env?在

  1. 文档使我更加困惑:似乎作为用户,我应该使用subcvecenv来获得envs的多处理?如果是,则构造函数不再明确:

    等级稳定_基线.common.vec_env.subcvecEnv(env_fns,start_method=None) ...

env_fns解释为:env_fns—([Gym Environment])在子流程中运行的环境

这是:定义各自环境的字符串列表,还是健身房列表(返回自健身房。品牌(env_name)),还是别的什么?在

  1. 如果subcvecEnv是一种方法,它是如何使用的:在我看来,我只使用:

    步骤异步(操作) step_wait()

无论我在哪里

step(action)

之前,只需使用大小(批处理大小、操作大小)而不是大小(操作大小)的操作。在

有人能证实吗?在

  1. 从哪里进口?我从OpenAI基线中了解到了它们,这并不是一个典型的库,它似乎更像是一个学习工具。有没有更“专业”的东西,可以从那里进口?在

Tags: 文档模型env列表环境step空间rl