Должны ли потери быть одинаковыми для установки с одним и несколькими процессорами при обучении (Tensorflow)? - PullRequest
0 голосов
/ 01 февраля 2019

Я тренирую модель для семантической сегментации.Я использую пакет размером 10 изображений для обучения на одном графическом процессоре.Я одновременно использую одни и те же гиперпараметры для обучения на установке с несколькими GPU (3 GPU).Для нескольких графических процессоров я использую размер пакета в 30 изображений, т. Е. 10 изображений на один графический процессор.

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

В моем случае это не то, что я сейчас вижу во время обучения.Потери мульти-GPU в 5 раз больше, чем потери, которые я получаю от одного GPU.

Любые предложения / предложения приветствуются.

1 Ответ

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

Потеря зависит от размера партии и элементов в партии.С 30 случайными изображениями вероятность потери выше (особенно в начале обучения) намного выше.

Когда у вас есть 10 из них, есть меньше примеров, чтобы «ошибиться» вашей нейронной сетью.

С другой стороны, если у нескольких GPU и одного GPU будет одинаковое количество примеров на пакет, и каждый пакет будет точно таким же, а параметры сети будут равны, потери должны быть равныхорошо (это может быть сделано путем фиксирования семян, размера партии и веса для обоих случаев).

...