东莞seo网站管理深圳居家办公
web/
2025/10/3 7:50:24/
文章来源:
东莞seo网站管理,深圳居家办公,网页设计与网站建设标准数据,中国企业排名500强目录 问题描述如果是bugbatch size的设置问题尝试使用GroupNorm解决batchsize不同带来的问题归一化的分类 参考文章 问题描述
深度学习网络训练时#xff0c;使用较小的batch size训练网络后#xff0c;如果换用较大的batch size进行evaluation#xff0c;网络的预测能力会… 目录 问题描述如果是bugbatch size的设置问题尝试使用GroupNorm解决batchsize不同带来的问题归一化的分类 参考文章 问题描述
深度学习网络训练时使用较小的batch size训练网络后如果换用较大的batch size进行evaluation网络的预测能力会显著下降。如果evaluation的batch size和train的batch size大小相同时则不会遇到此类问题。
PyTorch Forums – Performance highly degraded when eval() is activated in the test phase
如果是bug
metric会根据batch_size的大小变化但并不显著metric按每个batch分别进行计算缺失model.eval()指令with torch.no_grad() 对dropout和batch normalization不起固定作用。 nn.Dropout层参数不会固定nn.BatchNorm2d() PyTorch – BatchNorm2d BatchNorm2d函数中的参数track_running_stats:trainning和track_running_statstrack_running_statsTrue表示跟踪整个训练过程中的batch的统计特性得到方差和均值而不只是仅仅依赖与当前输入的batch的统计特性。相反的如果track_running_statsFalse那么就只是计算当前输入的batch的统计特性中的均值和方差了。当在推理阶段的时候如果track_running_statsFalse此时如果batch_size比较小那么其统计特性就会和全局统计特性有着较大偏差可能导致糟糕的效果。trainningFalse, track_running_statsTrue。这个是期望中的测试阶段的设置此时BN会用之前训练好的模型中的假设已经保存下了running_mean和running_var并且不会对其进行更新。一般来说只需要设置model.eval()其中model中含有BN层即可实现这个功能。 Dataloader中加入了随机处理例如RandomCrop没有固定随机种子
batch size的设置问题
如果batch size较小会导致上述running_mean和running_var不准确。参考文章Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift当模型训练完成后 x ^ x − E [ x ] V a r [ x ] ϵ \hat{x} \frac{x-E[x]}{\sqrt{Var[x]\epsilon}} x^Var[x]ϵ x−E[x]
其中 V a r [ x ] m m − 1 E B [ σ B 2 ] Var[x]\frac{m}{m-1}E_B[\sigma_B^2] Var[x]m−1mEB[σB2]the expectation is over training mini-batches of size m and σ B 2 \sigma_B^2 σB2 are their sample variances.
尝试使用GroupNorm解决batchsize不同带来的问题
归一化的分类 LN 和 IN 在视觉识别上的成功率都是很有限的对于训练序列模型RNN/LSTM或生成模型GAN很有效。
所以在视觉领域BN用的比较多GN就是为了改善BN的不足而来的。
GN 把通道分为组并计算每一组之内的均值和方差以进行归一化。GN 的计算与批量大小无关其精度也在各种批量大小下保持稳定。可以看到GN和LN很像。
参考文章
pytorch 每次测试结果不同 Batch Normalization 深度学习中的组归一化GroupNorm
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86101.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!