Mxnet с символьным API: пакетное обновление нормализации - PullRequest
0 голосов
/ 01 марта 2019

В настоящее время я обучаю сверточную нейронную сеть, используя Mxnet, с C ++ Symbol API.Эта сеть содержит несколько слоев Batchnormalization, которые содержат NDArray с четырьмя параметрами.Два из них, параметры moving_mean и moving_variance, должны обновляться в каждом пакете во время обучения.

Я предполагал, что, поскольку логическое значение для прямого прохода исполнителя установлено на true, онобудет автоматически обновлять новые параметры.Однако по некоторым причинам эти два NDArray остаются без изменений параметра.Как так?Кроме того, поскольку для этих двух NDArray нет вычисляемых градиентов, поскольку это не «обучаемые» параметры, я не могу обновить значения с помощью обычной функции обновления оптимизатора.Как сообщить Mxnet, используя API символов, обновить NDArrays moving_mean и moving_variance?

1 Ответ

0 голосов
/ 05 апреля 2019

moving_mean и moving_variance обновляются во время обратного прохождения обучения, а не на этапе оптимизации, как и другие параметры.Еще одна причина, по которой эти параметры могут оставаться фиксированными во время обучения, это если вы установили use_global_stats=True в слое BatchNorm.

...