-1

我希望能够向一些 ray 工作者抛出大量数据收集任务,其中一个训练者同时和异步地在另一个 cpu 训练上对收集的数据进行训练,这个概念类似于文档中的这个例子:https://docs.ray .io/en/master/auto_examples/plot_parameter_server.html#asynchronous-parameter-server-training

不同之处在于我不想等待下一个样本到达,阻止我分配新任务(使用附加示例中的 ray.wait),而是在池中投入大量样本并调节培训师的训练仅当使用数据收集任务收集了至少 N 个样本时才开始处理。

我怎样才能使用射线做到这一点?

4

1 回答 1

0

你能看一下RLlib 中的DQN 或SAC 的执行计划吗? ray/rllib/agents/dqn/dqn.py::execution_plan().

例如,DQN 通过远程工作人员进行采样并将收集到的样本放入缓冲区,同时从该缓冲区中采样并对该缓冲区采样数据进行学习更新。您还可以设置“训练强度”,即采样的时间步长与训练的时间步长之间的比率。

SAC 的工作原理相同。另一方面,APEX-DQN 使用分布式重放缓冲区来实现更快的样本存储和检索。

于 2021-08-12T17:37:55.090 回答