Я использую keras (v2.2.4) с тензорным потоком (v1.12.0) в качестве бэкэнда (Python 3.6.7). Я хочу реализовать модель с несколькими графическими процессорами, используя multi-gpu-model
в keras.utils
.
В машине с 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`.
Имена машин не совпадают с именами в тензорном потоке. Когда я изменил код на multi_gpu_model(model, gpus=[0, 1, 2, 3])
, он использовал все мои машины (как показано на рисунке). Я очень смущен. Как я могу реализовать мульти-GPU-модель, используя 0,1,2,9
GPU?
![enter image description here](https://i.stack.imgur.com/h5yQI.png)