gpt4 book ai didi

python - TensorFlow 2 是否支持在不同 CPU 内核上进行多处理?

转载 作者:行者123 更新时间:2023-12-04 04:05:43 26 4
gpt4 key购买 nike

我坚持使用 TensorFlow 2 实现异步优势 Actor-Critic (A3C)。

问题定义:对于 A3C 实现,我必须创建一群 worker (与 CPU 核心数量一样多)和一个主人。所有 worker 和 master 都将为自己创建一个独特的 CNN 模块的副本。当每个 worker 必须优化 master 的 CNN 模块并将其权重与 master 的 CNN 的权重同步时,问题就出现了。我已经通过多线程实现了这一点,没有任何问题,但是当多处理出现时,python 既不能序列化权重也不能序列化 CNN 本身以在 worker 和 master 之间传递。

其他问题:当我用谷歌搜索来解决这个问题时,我注意到了不同的意见(而且几乎所有的 Q-A 都与 TF 1 相关)。有些人认为 TensorFlow 不支持多处理,因此他们要么转向 PyTorch,要么只使用多线程。其他人提出ray library .

首先,我想知道是否可以通过 TF 2 执行像 A3C 这样的多处理方法。如果可能的话,如果有人与我分享类似的作品,我将不胜感激。

最佳答案

我自己也遇到了完全相同的问题。我确实找到了一个使用 TF1.X 和 A3C 的 multiprocessing 的资源(见下面的链接)。通常,他们使用队列来共享模型权重。

就我个人而言,我很好奇是否有更简单或更好的方法来为 A3C 使用 multiprocessing。我发现很难复制他们的方法,所以如果您找到其他方法,请分享!

https://github.com/hongzimao/a3c/blob/master/train.py

关于python - TensorFlow 2 是否支持在不同 CPU 内核上进行多处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62546131/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com