В соответствии с документами Tensorflow 2 вы можете:
- Во время обучения: стандартизировать партию со средним значением / дисперсией партии в BatchNorm, а также обновлять текущее среднее значение / дисперсию .
- Во время тестирования: стандартизируйте партию / образец, используя текущее среднее значение / дисперсию, не обновляя текущее среднее значение / дисперсию.
Это изменилось с TF 1. *, где вы могли бы заморозить Уровень BN, чтобы избежать обновления текущего среднего значения / дисперсии, но при этом использовать выборочное среднее значение / дисперсию при выводе, если это необходимо.
Есть ли способ сделать последнее в TF2. *? Единственный вариант, который я вижу, - это создать экземпляр модели с momentum=1.
в слоях BN и выполнить логический вывод с training=True
.