OpenAI gym 和 Python 线程

OpenAI gym and Python threading

我正在研究 A3C/ACER 的变体,我有几个工人,每个 运行 在自己的线程上。我正在使用 OpenAI 健身房环境。

Python 线程工作正常,但不能充分利用所有内核。由于没有阻塞 I/O,它不会进行上下文切换。

我希望工作人员在各自的环境中执行操作时以某种方式释放 GIL。

非常感谢您的反馈:这是否有意义并且可能?

回答我自己的问题:我发现在 OpenAI universe-starter-agent 中演示了一种非常有效的方法:https://github.com/openai/universe-starter-agent.

该实现使用 Tensorflow 并运行包括参数服务器在内的独立进程。

我认为这也可以作为对其他人的参考。