Норма пакета Tensorflow = False дает неверные результаты - PullRequest
0 голосов
/ 14 июля 2020

Я работаю над моделью TensorFlow. Я написал оболочку для официального кода Deeplab v3 +, и я столкнулся с проблемами при обучении слоев пакетных норм. Всякий раз, когда я включаю пакетное обучение нормам (устанавливаю его равным True), оно работает нормально. Но когда я пытаюсь запустить проверку и установить пакетную норму как False, сеть прерывается.

Я следил за несколькими обсуждениями, доступными в Интернете, и опробовал следующее -

  1. Рассчитать update_ops после определения сети
 update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) # possible batch normalization

Затем запустите -

 sess.run(update_ops)

в обучающем наборе вместе с другими операциями.

Пробовал шаги, упомянутые в этой ссылке -

Пакетная нормализация вызывает огромную разницу между обучением и потерей вывода

Также пытался изменить значение затухания в параметрах нормы партии (уже пробовали - 0,9, 0,99, 0,9997)

Есть ли у кого-нибудь другие предложения по этому поводу?

Прямо сейчас , Я тестирую свой обучающий набор данных, сохраняя пакетную норму как False, и он дает пустые выходные данные.

...