pytorch中GroupNorm的使用(笔记)
Posted 禾木呈风
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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出错的一些情况
groupNorm中设置的groupChannels与输入数据的维度不匹配。
groupNorm中设置的groupNums不能与输入数据的维度整除
以上是关于pytorch中GroupNorm的使用(笔记)的主要内容,如果未能解决你的问题,请参考以下文章
deep_thoughts45_BatchNormLayerNormInstanceNormGroupNorm原理及pytorch手写实现API