【发布时间】:2020-07-19 09:50:36
【问题描述】:
我一直在使用 TensorFlow 2 实现异步优势 Actor-Critic (A3C)。
问题定义: 对于 A3C 实施,我必须创建一堆工作人员(与 CPU 内核数量一样多)和一个主服务器。所有的工人和主人都会为自己创建一个独特的 CNN 模块的副本。当每个工作人员必须优化主控的 CNN 模块并将其权重与主控的 CNN 的权重同步时,就会出现问题。我已经通过多线程毫无问题地实现了这一点,但是当多处理进入时,python 既不能序列化权重也不能序列化 CNN 本身以在 worker 和 master 之间传递。
别人的问题: 当我在谷歌上搜索解决这个问题时,我注意到了不同的意见(而且几乎所有的问答都与 TF 1 有关)。有些人认为 TensorFlow 不支持多处理,所以他们要么迁移到 PyTorch,要么只使用多线程。其他人提议ray library。
首先,我想知道是否可以通过 TF 2 实现像 A3C 这样的多处理方法。 如果可能的话,如果有人与我分享类似的作品,我将不胜感激。
【问题讨论】:
标签: python tensorflow keras multiprocessing