Обучение одной модели с несколькими графическими процессорами

Как вы можете запрограммировать keras или tensorflow для разделения обучения на нескольких графических процессорах, скажем, вы находитесь в экземпляре amaozn ec2, который имеет 8 графических процессоров, и вы хотите использовать их все для более быстрого обучения, но ваш код предназначен только для одного процессора или графического процессора ?


person Hector Blandin    schedule 21.10.2017    source источник
comment
Это немного широко для этого сайта. Вы просите нас разработать решение для вас. stackoverflow.com/help/how-to-ask   -  person    schedule 21.10.2017


Ответы (1)


Да, может запускать модели Keras на нескольких графических процессорах. На данный момент это возможно только с бэкэндом TensorFlow, потому что функция Theano все еще довольно новая. Мы рассматриваем возможность добавления поддержки нескольких GPU в Theano в ближайшем будущем (это должно быть довольно просто).

С бэкэндом TensorFlow вы можете добиться этого так же, как и в чистом TensorFlow: используя область with tf.device(d) при определении слоев Keras.

Источник: здесь

person Stepan Novikov    schedule 21.10.2017
comment
В дополнение к этому ответу вы можете следить за ответами по следующей ссылке. Идея состоит в том, чтобы установить with tf.device('/gpu:0'): или with tf.device('/gpu:1') и т. д. для каждой группы слоев. stackoverflow.com/questions/46366216/ - person Daniel Möller; 21.10.2017
comment
@DanielMöller: Спасибо! - person Hector Blandin; 21.10.2017