| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 人工智能 -> 深度学习-RepVGG网络 -> 正文阅读 |
|
|
[人工智能]深度学习-RepVGG网络 |
文章目录代码链接 参考 1、概述本文提出一种简单而强有力的CNN架构RepVGG,在推理阶段,它具有与VGG类似的架构,而在训练阶段,它则具有多分支架构体系,这种训练-推理解耦的架构设计源自一种称之为“重参数化(re-parameterization)”的技术。 在ImageNet数据集上,RepVGG取得了超过80%的top-1精度,这是plain模型首次达到如此高的精度。在NVIDIA 1080TiGPU上,RepVGG比ResNet50快83%,比ResNet101快101%,同时具有更高的精度;相比EfficientNet与RegNet,RepVGG表现出了更好的精度-速度均衡。 2、需求解读通过总结,你可能会发现计算机视觉中的多种不同任务的网络架构大致都可以分为3个通用的模块,具体包括:通用Backbone网络、任务特定网络和任务头网络,其中通用Backbone网络用来提取一些低级的通用特征,具体包括颜色、形状和纹理等;任务特定网络用来对这些通用的特征进行进一步的加工,将这些特征变换成该任务需要的特征;任务头网路根据不同的任务来输出不同形式的结果,例如分类算法输出类别概率,检测任务输出类别和检测框等。总而言之,分类网络中的Backbone网络是很多高级任务的基准网络,它的性能在很大程度上决定了该网络的部分上限。 在常见的计算机视觉任务中,我们经常会看到ResNet和MobileNet两个网络的身影,大量的实验结果表明:ResNet网络能够提取到鲁邦的特征表示,用户可以根据自己的需要灵活的选择ResNet18、ResNet34和ResNet50等网路架构;MobileNet适合应用在一些低算力的嵌入式设备中,可以在速度和精度之中达到很好的均衡。但是我们很少看到过VGG网络的身影,这几年越来越少!!!主要的原因包含2点:(1)VGG网络的模型更大,不便于模型部署;(2)与ResNet网络相比,VGG网络的性能会有些逊色。
3、RepVGG算法简介RepVGG是一个分类网路,该网络是在VGG网络的基础上进行改进,主要的改进点包括: 4、RepVGG网络架构详解
这种架构的主要优势包括:
5、推理阶段Op融合细节详解
Conv怎么和BN融合
identity怎么转3x3 Conv
6、不同配置版本的RepVGGRepVGG也提供两大类型的网络配置,具体的细节如上表所示,RepVGG-A表示的是一种比较轻量型的网络,整个网络的层数会少一些,当前分类性能也会差一些;RepVGG-B表示的是一种高精度类型的网络,整个网路会更深一些,分类精度更高一些,适用于服务端部署。整个RepVGG网络包含5个Stage,Stage1仅仅包含一个残差块,输出的特征映射大小为112112,残差块的通道个数取min(64,64a);Stage2包含2个残差块,输出的特征映射大小为5656,残差块的通道个数为64a个;Stage3包含4个残差块,输出的特征映射大小为2828,残差块的通道个数为128a个;Stage4包含14个残差块,输出的特征映射大小为1414,残差块的通道个数为256a个;Stage5包含1个残差块,输出的特征映射大小为7*7,残差块的通道个数为512b个。整个网络通过参数a和参数b来形成不同版本的变种,具体的变种如下表所示,参数a和参数b用来控制残差块的通道个数,参数a用来控制stage1-stage4阶段的通道个数,参数b用来控制stage5阶段的通道个数,一般情况下a < b,主要的原因是Stage5中需要具有更多的通道个数,从而获得一些更鲁邦的特征表示,有利于后续的头网络输出更准确的预测结果。 7、RepVGG算法实现步骤
8、RepVGG算法效果展示与分析
9、总结与分析RepVGG是一个分类网路,该网络是在VGG网络的基础上进行改进,结合了VGG网络和ResNet网络的思路,主要的创新点包括:(1)在VGG网络的Block块中加入了Identity和残差分支,相当于把ResNet网络中的精华应用 到VGG网络中;(2)模型推理阶段,通过Op融合策略将所有的网络层都转换为Conv3*3,便于模型的部署与加速。(3)这是一个通用的提升性能的Tricks,可以利用该Backbone来替换不同任务中的基准Backbone,算法性能会得到一定程度的提升。 |
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/28 10:20:51- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |