带有符号API的MXNET:批处理归一化更新

Mxnet with symbol API: batch normalization update

本文关键字:批处理 更新 MXNET 符号 API      更新时间:2023-10-16

我目前正在使用MXNET和C 符号API训练卷积神经网络。该网络包含一些批处理层,其中包含四个参数ndarray。其中两个,Mover_Mean和Move_variance参数应该在培训期间的每批更新。

我猜想,由于执行程序的正向通行的布尔值设置为true,因此它将自动更新新的参数。但是,由于某些原因,这两个ndarray静止不动,而没有任何参数更新。为何如此?此外,由于没有针对这两个ndarray计算的梯度,因为它不是"可学习的"参数,因此我无法通过常规优化器更新功能更新值。如何使用符号API告诉MXNET,以更新Move_Mean和Move_variance ndarrays?

moving_meanmoving_variance在训练的向后传球中进行了更新,而不是像其他参数一样在优化步骤中进行更新。这些参数在训练期间可以保持固定的另一个原因是,如果您将use_global_stats=True设置在batchnorm层。