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

区分gym中的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 NotImplementedError
        return env
    env_fns = [_make_env for _ in range(num_envs)]
    return AsyncVectorEnv(env_fns) if asynchronous else SyncVectorEnv(env_fns)
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值