Как реализовать Batch Norm с SWA в Tensorflow? - PullRequest
0 голосов
/ 12 июля 2020

Я использую Stochasti c Weight Averaging (SWA) со слоями Batch Normalization в Tensorflow 2.2. Для Batch Norm я использую tf.keras.layers.BatchNormalization. Для SWA я использую свой собственный код для усреднения весов (я написал свой код до появления tfa.optimizers.SWA). Я читал в нескольких источниках, что при использовании пакетной нормы и SWA мы должны запустить прямой проход, чтобы сделать определенные данные (среднее и стандартное отклонение весов активации и / или значений импульса?) Доступными для слоев пакетной нормы. Я не понимаю, несмотря на то, что много читал, что именно нужно делать и как. В частности:

  1. Когда должен выполняться проход вперед / прогнозирования? В конце каждого мини-пакета, в конце каждой эпохи, в конце всего обучения?
  2. Когда выполняется прямой проход, как средние и стандартные значения промежуточного значения становятся доступными для слоев норм пакета?
  3. Этот процесс волшебным образом выполняется классом tfa.optimizers.SWA?
...