我使用带有tensorflow(v1.12.0)的keras(v2.2.4)作为后端(Python 3.6.7)。我想在multi-gpu-model
中使用keras.utils
实现多GPU模型。
ubuntu机器中有10 gpus,0,1,2,9
是我可以使用的。所以我写了multi_gpu_model(model, gpus=[0, 1, 2, 9])
,但是引发了错误:
ValueError: To call `multi_gpu_model` with `gpus=[0, 1,
2, 9]`, we expect the following devices to be available:
['/cpu:0', '/gpu:0', '/gpu:1', '/gpu:2', '/gpu:9']. However
this machine only has: ['/cpu:0', '/xla_gpu:0', '/xla_cpu:0',
'/gpu:0', '/gpu:1', '/gpu:2', '/gpu:3']. Try reducing `gpus`.
机器名称与tensorflow中的机器名称不一致。当我将代码更改为multi_gpu_model(model, gpus=[0, 1, 2, 3])
时,它使用了我的所有机器(如图所示)。我很困扰。如何使用0,1,2,9
gpus实现多gpu模型?