pytorch中GroupNorm的使用(笔记)
不使用BatchNorm的原因
相比起batchNorm,groupNorm对一个batch的size更不敏感。在现有的研究中,batchNorm在batchsize越大的情况下,效果更佳,batchsize=32的情况明显优于batchsize=2。
在许多计算机视觉的任务中,batchsize由于计算机资源的限制,往往只能设置在1~8之间,而利用GPU训练,设置batchsize=32往往更合适。(玄学的设置)
但GroupNorm根据相关的研究,其对batchsize的敏感性更小,也就是说较小的batchsize和较大的batchsize,都会得到相对而言不错的结果,不会因为batchsize过小而导致结果变差。
相关链接:全面解读Group Normalization-(吴育昕-何恺明 )——https://zhuanlan.zhihu.com/p/177853578
如何使用GroupNrom?
如图,num_groups是要设置分组的个数,num_channels是输入数据的维度,与输入数据保持一致即可。
依据现有的研究,GroupNorm中的G的设置,为32的时候最优,16的时候也还可以。
使用GroupNorm出错的一些情况
groupNorm中设置的groupChannels与输入数据的维度不匹配。
groupNorm中设置的groupNums不能与输入数据的维度整除
本文作者:小澳子
本文链接:https://www.cnblogs.com/xiaoaozi/p/17202305.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步