首页 > 其他分享 > RepVGG

RepVGG

时间:2023-01-11 20:46:54浏览次数:50  
标签:RepVGG 卷积 BN 1x1 3x3 sigma

1.RepVGG

参考:
RepVGG网络简介
BN详解

RepVGG在训练和推理的时候采用不同的网络结构,从而加速网络的推理速度。RepVGG的主要内容是在推理阶段执行Structural re-parameterization,即图A所示,将多分支结构转换为一个3x3的卷积,具体如下:

图A解释:

  • 将1x1卷积转换成3x3卷积
  • 将BN转换成3x3卷积
  • 将3x3卷积核与BN合并成一个3x3卷积
  • 将三个3x3卷积核融合成一个

1.1 将1x1卷积转换成3x3卷积

这个过程比较简单,如下图所示,以1x1卷积层中某一个卷积核为例,只需在原来权重周围补一圈零就行了,这样就变成了3x3的卷积层,注意为了保证输入输出特征图高宽不变,此时需要将padding设置成1(原来卷积核大小为1x1时padding为0)。

1.2 将BN转换成3x3卷积

对于只有BN的分支由于没有卷积层,所以我们可以先自己构建出一个卷积层来。如下图所示,构建了一个3x3的卷积层,该卷积层只做了恒等映射,即输入输出特征图不变。

1.3 将3x3卷积与BN合并成一个3x3卷积


\(M_{:,i,:,:}\)代表batch中所有特征图的第i个channal,设\(M_{:,i,:,:}\)是由卷积核\(W_{:,i,:,:}'\)通过卷积得到的,所以可以将\(M_{:,i,:,:}\)旁边乘的\(\frac{\gamma _i}{\sigma_i}\)提取到\(W_{:,i,:,:}'\)旁边,并将\(\beta_i-\frac{\mu_i\gamma _i}{\sigma_i}\)作为卷积核的一个偏置。
【注】在推理阶段,\(\mu _i\)和\(\sigma_i\)已经是一个固定的值,所以可以进行上述操作。

1.4 将三个3x3卷积核融合成一个

标签:RepVGG,卷积,BN,1x1,3x3,sigma
From: https://www.cnblogs.com/codingbigdog/p/17044836.html

相关文章

  • RepVGG:一个结构重参数化网络
    ​ 本文来自公众号“AI大道理” ResNet、DenseNet等复杂的多分支网络可以增强模型的表征能力,使得训练效果更好。但是多分支的结构在推理的时候效率严重不足。 看......
  • RepVGG论文详解
    RepVGG论文详解RepVGG是截止到2021.2.9日为止最新的一个轻量级网络架构。在我的测试中,其在安霸CV22上的加速效果不如ShuffleNetv2。根据作者的描述,RepVGG是为G......
  • 【论文阅读】RepVGG: Making VGG-style ConvNets Great Again
    原始题目:RepVGG:MakingVGG-styleConvNetsGreatAgain中文翻译:RepVGG:让VGG-风格的卷积网络们再次伟大发表时间:2021年1月11日平台:CVPR-2021来源:MEGVII(旷世)......