我在使用TensorFlow 2实现异步优势演员评论家(A3C)算法时遇到了困难。
问题描述: 为了实现A3C算法,我必须创建一组工作线程(数量等于CPU核心数)和一个主节点。所有的工作者和主节点都将为自己创建一个唯一的卷积神经网络(CNN)模块的副本。当每个工作者需要优化主节点的CNN模块并将其权值与主节点的CNN的权值同步时,就会出现问题。我已经通过多线程实现了这个过程,并没有问题,但是当使用多进程时,Python无法序列化权重或CNN本身以在工作者和主节点之间传递。
其他人的问题: 当我在谷歌上搜索处理此问题时,我注意到有不同的意见(几乎所有的Q-A都与TF1有关)。有些人认为TensorFlow不支持多进程,因此他们转向了PyTorch或仅使用了多线程。其他人则提出了ray library。
首先,我想知道是否可以像A3C那样使用TensorFlow 2进行多进程处理。 如果可能的话,我将感激有人与我分享类似的工作。