天天育儿网,内容丰富有趣,生活中的好帮手!
天天育儿网 > 区分gym中的gym.make()函数与gym.vector.make()函数

区分gym中的gym.make()函数与gym.vector.make()函数

时间:2020-03-01 08:13:30

相关推荐

区分gym中的gym.make()函数与gym.vector.make()函数

区分gym中的gym.make函数、与gym.vector.make函数

gym.make()gym.vector.make()

gym.make()

输入:环境ID,输出:环境实例env

通过环境ID找到单个环境

gym.vector.make()

从一个环境的大量副本中创建一个矢量化环境。相当于创建一个batch之类的,有两种处理方式:同步和异步。

输入:

id:环境的ID,必须传入一个有效的、在gym中注册过的ID;

num_envs:矢量化环境中环境的数量;

asynchronous:布尔型的值,如果为True则用’AsyncVectorEnv’包装环境,否则用’SyncVectorEnv’包装环境;

gym.vector.make()实际上也是调用gym.make()函数,不过gym.vector.make()是根据环境ID创建一个矢量化的环境。wrappers如果是个可调用的,则对环境直接包装,如果是个列表,则用wrappers里面的每个可调用的wrapper对环境进行包装。

def vector_make(id, num_envs=1, asynchronous=True, wrappers=None, **kwargs):from gym.envs import make as make_def _make_env():env = make_(id, **kwargs)if wrappers is not None:if callable(wrappers):env = wrappers(env)elif isinstance(wrappers, Iterable) and all([callable(w) for w in wrappers]):for wrapper in wrappers:env = wrapper(env)else:raise NotImplementedErrorreturn envenv_fns = [_make_env for _ in range(num_envs)]return AsyncVectorEnv(env_fns) if asynchronous else SyncVectorEnv(env_fns)

如果觉得《区分gym中的gym.make()函数与gym.vector.make()函数》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。