RepVGG学习笔记

RepVGG学习笔记_第1张图片

1.什么是RepVRR?
答:
RepVGG主要为了解决原始VGG网络模型较大,不便于部署以及性能比较差二提出的一个VGG升级版本。

2.RepVGG的主要思路是什么?
答:
(1)在VGG网络的Block块中加入了Identity和残差分支,相当于把ResNet网络中的精华应用 到VGG网络中; (2)模型推理阶段,通过Op融合策略将所有的网络层都转换为Conv3*3,便于网络的部署和加速。

3.为什么像googlenet,resnet都喜欢用多分支的结构?
答:
多分支结构能够增加网络模型的表征能力。引申出对原始VGG也使用多分支结构,从而出现了RepVGG

4.为什么模型在训练的时候使用多了多分支结构,在推理的时候使用单分支结构呢?
答:
还是为了便于模型的部署,是推理阶段可以更快、更省内存、更加灵活
针对更快,从GPU 计算的角度去看,以其中一个分支为例,在计算模型输出得时候,先计算最外层的BN层,然后计算 1 × 1 1 \times 1 1×1的卷积层,最后再计算 3 × 3 3 \times 3 3×3的卷积层,只有前面计算完了才计算后面的,很浪费时间。

5.什么是结构重参数化,即怎么将训练好的RepVGG Block转成推理时的模型结构?
答:
结构重参数化也是RepVGG的核心。
核心就是最为层的BN层之前有一个 3 × 3 3 \times 3 3×3卷积层的恒等映射。结构重参数化之后只剩一个卷积层了,就没分支了。及减少了模型的参数数量,又加快了模型的推理速度。

你可能感兴趣的:(深度学习,学习,深度学习,python)