我正在研究 A3C/ACER 的变体,我有几个工作人员,每个工作人员都在自己的线程上运行。我正在使用 OpenAI 健身房环境。
Python 线程工作正常,但它无法充分利用所有内核。由于没有阻塞 I/O,它不会进行上下文切换。
我希望工作人员在各自的环境中执行操作时以某种方式释放 GIL。
非常感谢您的反馈:这是否有意义并且可能?
最佳答案
回答我自己的问题:我发现在 OpenAI universe-starter-agent 中展示了一种非常有效的方法:https://github.com/openai/universe-starter-agent .
该实现使用 Tensorflow 并运行包括参数服务器在内的独立进程。
我认为这也可以作为对其他人的引用。
关于python - OpenAI gym 和 Python 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43718347/