Tensorflow 如何使用多个 GPU 进行单独训练?
Posted
技术标签:
【中文标题】Tensorflow 如何使用多个 GPU 进行单独训练?【英文标题】:How to use multiple GPUs for separate training with Tensorflow? 【发布时间】:2021-04-24 12:09:40 【问题描述】:我浏览了许多关于在 TensorFlow 中使用多个 GPU 的文章和帖子。它在“如何使用并行 GPU 训练 NN(神经网络)”方面帮助了我更多 here。但我有一个不同的问题。可以使用单独的 GPU 同时训练不同的神经网络吗?
更多细节:
我有神经网络 A
、B
和 GPU1
、GPU2
。我想同时在GPU1
和B
NN 上训练A
NN GPU2
。有可能吗?
【问题讨论】:
您可以同时分别运行两个脚本。只需在每个脚本中更改 cuda 可见设备即可。 这能回答你的问题吗? How do I select which GPU to run a job on? 【参考方案1】:我建议使用两个单独的 Python 脚本来训练这两个网络,例如 trainA.py
和 trainB.py
。
在trainA.py
的前两行中,您选择您喜欢的 GPU。
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
对于trainB.py
,您选择另一个 GPU:
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "1"
现在您应该可以同时运行两个训练脚本了。
【讨论】:
以上是关于Tensorflow 如何使用多个 GPU 进行单独训练?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Tensorflow 2.0 + Keras 中进行并行 GPU 推理?
具有推理功能的 TensorFlow + Keras 多 GPU 模型