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

时间:2019-04-21 18:40:38

标签: python multiprocessing openai-gym

我想同时使用多个(OpenAI)体育馆,以加快我的RL模型的速度。我的看法是,vec_env(github repo)是OpenAI使用的解决方案。到目前为止,文档(OpenAI documentation for baselines)对我来说还是半用的。具体来说,我有一系列问题:

  1. 从存储库中,我看到vec_env构造函数是:

    def init (自身,num_envs,observation_space,action_space): ...

这看起来很奇怪,是否应该不包含我正在使用的环境的规范?

  1. 文档种类让我更加困惑:好像作为用户,我宁愿使用SubProcVecEnv来获取env的多处理功能?如果是,则构造函数不会再次清除:

    class stable_baselines.common.vec_env.SubprocVecEnv(env_fns,start_method = None) ...

env_fns解释为:env_fns –([健身房环境])在子进程中运行的环境

这是:定义相应环境的字符串列表,还是健身房列表(来自gym.make(env_name)的返回),或其他内容?

  1. 如果要使用SubProcVecEnv,它的使用方式:我所看到的方式,我只是使用:

    step_async(操作) step_wait()

无论我在哪里使用

step(action)

之前,仅使用大小(batch_size,action_size)而不是大小(action_size)的动作即可。

有人可以确认吗?

  1. 从哪里进口?我从OpenAI基准了解它们,它不是一个通常会使用的库,它似乎更多是一种学习工具。还有一种“专业”的东西,可以从那里进口吗?

0 个答案:

没有答案