Могу ли я использовать TensorFlow для распространения обучения на разнородных машинах? - PullRequest
1 голос
/ 18 марта 2020

У меня есть две машины, на машине 1 есть графические процессоры, а на машине 2 только центральный процессор. Я хочу знать, могут ли две машины использовать обучение нескольких рабочих в TensorFlow, то есть во время распределенного обучения machine1 использует графические процессоры, а machine2 использует CPU.

Версия Tensorflow - 2.1.0

.

Ответы [ 2 ]

1 голос
/ 18 марта 2020

Вы можете использовать Multi-worker для обучения моделей с TensorFlow на нескольких машинах. По умолчанию TensorFlow обучает модели на процессоре вашей системы, но если у вас есть графический процессор Nvidia, вы можете установить CUDA, что позволит вам обучать модели на графическом процессоре.

0 голосов
/ 20 марта 2020

Ответ - нет. Когда я распространял глубокое обучение, следовал этому уроку:

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

Произошли некоторые ошибки:

тензор потока. python .framework.errors_impl.InternalError: Коллективная операция CollectiveBcastSend: Broadcast (1) назначается устройству / заданию: worker / replica: 0 / task: 0 / device: GPU: 0 с типом GPU и group_key 1 но эта группа имеет тип CPU [Op: CollectiveBcastSend]

После того, как я установил machine1 для использования CPU по коду:

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

Обучение будет успешно выполнено с использованием CPU обеих машин.

...