gpt4 book ai didi

asynchronous - 关于openai基线A2C实现的问题

转载 作者:行者123 更新时间:2023-12-02 05:46:55 24 4
gpt4 key购买 nike

在A2C算法中,多个环境在不同的进程中运行,以并行计算。在 openai 基线实现中,SubprocVecEnv是为不同环境创建不同进程的类。 (您可以在 stable_baselines 中看到几乎相同的实现)。

我不明白的一点是:为什么进程的参数是一个返回名为 env_fn 的环境的函数,而不是直接返回名为 env 的环境本身?

换句话说,为什么L61像this ,而不是像这样:

self.ps = [ctx.Process(target=worker, args=(work_remote, remote, CloudpickleWrapper(env)))

谢谢!

最佳答案

因为要创建多个环境,您需要创建它们的函数。如果您将环境本身传递给它,它就是通过引用传递给环境的一个实例,所有工作人员都将在同一个实例上操作。

另一方面,该函数允许创建多个实例,因此每个进程都可以对一个实例进行操作。

关于asynchronous - 关于openai基线A2C实现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68950089/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com