我想同时使用多个(OpenAI)体育馆,以加快我的RL模型的速度。我的看法是,vec_env(github repo)是OpenAI使用的解决方案。到目前为止,文档(OpenAI documentation for baselines)对我来说还是半用的。具体来说,我有一系列问题:
从存储库中,我看到vec_env构造函数是:
def init (自身,num_envs,observation_space,action_space): ...
这看起来很奇怪,是否应该不包含我正在使用的环境的规范?
文档种类让我更加困惑:好像作为用户,我宁愿使用SubProcVecEnv来获取env的多处理功能?如果是,则构造函数不会再次清除:
class stable_baselines.common.vec_env.SubprocVecEnv(env_fns,start_method = None) ...
env_fns解释为:env_fns –([健身房环境])在子进程中运行的环境
这是:定义相应环境的字符串列表,还是健身房列表(来自gym.make(env_name)的返回),或其他内容?
如果要使用SubProcVecEnv,它的使用方式:我所看到的方式,我只是使用:
step_async(操作) step_wait()
无论我在哪里使用
step(action)
之前,仅使用大小(batch_size,action_size)而不是大小(action_size)的动作即可。
有人可以确认吗?