我有两台机器,机器1有GPU,而机器2只有CPU。我想知道两台机器是否可以在TensorFlow中使用Multi-worker训练,也就是说,在分布式训练中,machine1使用GPU,machine2使用CPU。
Tensorflow的版本是2.1.0
您可以使用Multi-worker在多台机器上使用TensorFlow训练模型。默认情况下,TensorFlow在系统CPU上训练模型,但是如果您具有Nvidia GPU,则可以安装CUDA,这将允许您在GPU上训练模型。
答案为否。当我分发深度学习时,请遵循本教程:
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上成功运行。