Tensorflow Multi-GPU потеря - PullRequest
       8

Tensorflow Multi-GPU потеря

0 голосов
/ 14 февраля 2019

Я изучаю, как реализовать обучение с несколькими графическими процессорами на Tensorflow.Сейчас я читаю этот источник , как рекомендовано в документации.Насколько я понимаю, в строке 178 переменные потери учитывают потери только для одного графического процессора (как говорится в комментарии).Таким образом, в конце цикла, скажем, строка 192, потери сохранят значение потери последнего рассматриваемого графического процессора.Потеря переменной не изменяется до ее использования в строке 243, когда она передается в Session.run () для вычисления.Таким образом, значение потери, напечатанное в строке 255, является только потерей последнего графического процессора, а не полной.Мне кажется трудным, что инженеры Google ошиблись с такой простой вещью, что мне не хватает?Спасибо!

1 Ответ

0 голосов
/ 14 февраля 2019

Не похоже, что вы что-то упускаете.Они считают, что достаточно распечатать значение потери и сообщить сводки для одной башни.

Обычно вы отслеживаете потери / сводки для каждого графического процессора и / или вычисляете среднюю потерю только для отладки, когда начинаете использоватьновая модель на нескольких графических процессорах.После этого достаточно отслеживать только одну башню, поскольку каждая башня содержит одну и ту же копию модели.

Кстати, мне проще использовать tf.estimators для обучения нескольких графических процессоров, используя tf.contrib.estimator.replicate_model_fn(...) и tf.contrib.estimator.TowerOptimizer(...) для распределения модели и оптимизатора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...