我正在研究CPU上的TensorFlow / Keras 中的DDPG(深度确定性策略梯度)的多线程实现。多个工作者代理(每个具有环境副本)用于通过工作梯度更新全局网络。
我的问题是:您如何通过其工作人员正确更新全球网络,然后在其自己的环境副本中定期安全地运行更新的全球网络?目的是我希望定期观察/存储全球网络随时间的变化,同时工作人员通过与他们自己的环境副本进行交互来继续学习/更新全球网络。根据这个Stackoverflow question regarding locking in TensorFlow,“读取变量不是在锁定下执行的,因此可以看到中间状态和部分应用的更新”。我想避免全球网络在与其环境交互时进行部分更新/中期更新。