对于我的生活,我没有得到“num_envs_per_worker”的作用。如果限制因素是策略评估,为什么我们需要创建多个环境?我们不需要创建多个策略吗?
请问ELI5?
文档说:
单个进程中的矢量化:尽管许多环境可以实现每个核心的高帧速率,但它们的吞吐量在实践中受到步骤之间的策略评估的限制。例如,即使是小型 TensorFlow 模型也会产生几毫秒的延迟来评估。这可以通过为每个进程创建多个 env并跨这些 env 批量策略评估来解决。您可以配置 {"num_envs_per_worker": M} 让 RLlib 为每个工作人员创建 M 个并发环境。RLlib 通过 VectorEnv.wrap() 自动矢量化 Gym 环境。