Skip to content

Latest commit

 

History

History
49 lines (26 loc) · 1.84 KB

readme.md

File metadata and controls

49 lines (26 loc) · 1.84 KB

RepVGG: Making VGG-style ConvNets Great Again

该仓库收录于PytorchNetHub

说明

  • CVPR-2021 官方库 原作知乎解读

  • 本仓库仅提取网络定义部分,用以分析。

  • 应用广泛

    1. yolov6yolov7等:设计结构重参数化的网络进行训练,推理时转化为等价的简单结构,加速推理。
    2. MNN线性超参数化工具:设计小模型 --> 训练线性过参数化大模型 --> 转换等价小模型推理

简读

问题 问题1:resnet等多分支结构,造成内存消耗,推理速度下降。
问题2:depthwise等复杂操作,造成内存消耗,硬件支持差。
创新点 RepVGG是VGG结构,快速、省内存、灵活
解决问题1:推理时无分支
解决问题2:仅包含3x3conv+ReLU的VGG style结构,无复杂操作
具体实现 解耦训练和推理的网络结构。
训练:多分支提升性能
推理:结构重参数化,转为等价的VGG style结构。

具体实现

核心方法get_equivalent_kernel_bias

  1. 融合BN

    conv layer + BN layer --> conv layer

  2. 其余分支转为3x3卷积

    1x1conv -> 3x3conv

    bn->3x3conv

  3. 三个分支合并

    conv(x, W1) + conv(x, W2) + conv(x, W3) = conv(x, W1+W2+W3))