我可以使用TensorFlow在异构机器上进行分布式训练吗?

问题描述 投票:1回答:2

我有两台机器,机器1有GPU,而机器2只有CPU。我想知道两台机器是否可以在TensorFlow中使用Multi-worker训练,也就是说,在分布式训练中,machine1使用GPU,machine2使用CPU。

Tensorflow的版本是2.1.0

tensorflow deep-learning distributed-computing tensorflow2.x
2个回答
1
投票

您可以使用Multi-worker在多台机器上使用TensorFlow训练模型。默认情况下,TensorFlow在系统CPU上训练模型,但是如果您具有Nvidia GPU,则可以安装CUDA,这将允许您在GPU上训练模型。


0
投票

答案为否。当我分发深度学习时,请遵循本教程:

https://www.tensorflow.org/tutorials/distribute/multi_worker_with_keras

发生了一些错误:

tensorflow.python.framework.errors_impl.InternalError:Collective Op CollectiveBcastSend:Broadcast(1)被分配给类型为GPU和group_key 1的设备/ job:worker / replica:0 / task:0 / device:GPU:0,但那组的类型为CPU [Op:CollectiveBcastSend]

我将machine1设置为通过代码使用CPU后:

os.environ['CUDA_VISIBLE_DEVICES'] = '-1'

培训将在两台计算机的CPU上成功运行。

© www.soinside.com 2019 - 2024. All rights reserved.