当前位置:网站首页>从RepVgg到MobileOne,含mobileone的代码
从RepVgg到MobileOne,含mobileone的代码
2022-07-04 20:57:00 【咆哮的阿杰】
重参数化的思想本质上就是利用线性模型的可加性。在工业界就在conv和bn层融合上有所应用。最近几年一直有re-parameter的工作。RepVGG是一个比较好的应用。
VGG是直筒式模型,因为没有skip connnection,导致训练更深层的vgg会出现模型的退化。但如resnet等,skip connnect为端上设备增加了运行耗时,在数据的存取上有不小的消耗。
因此RepVGG,将重参数的思想融合进来,在训练时,为vgg引入了skip connection,在测试时将skip connection和主分支融合,得到一个convbnrelu block,进而变成直筒式模型。
但不同于resnet,RepVgg为了保证线性模型可加的原则,在两个relu之间,使用残差分支。因为在非线性层之间的任何线性层,都可以进行合并。
关于如何融合,可以在参考链接中查看,写的非常详细
而MobileOne则是在RepVGG的基础上,意识到直筒式模型可以为端上模型带来不错的提速。因此决定将RepVgg改造为轻量级模型,将深度分离卷积,使用一些精心设计的训练策略,使得直筒式模型在轻量型模型上,比肩mobilenet等知名轻量化模型,而且在运行速度上更胜一筹。
我复现了mobileone的s0版本,得到了和论文效果相差无几的效果,有兴趣可以在我的github查看
MobileOne code
参考
边栏推荐
猜你喜欢
How was MP3 born?
创客思维在高等教育中的启迪作用
Redis03 - network configuration and heartbeat mechanism of redis
解析互联网时代的创客教育技术
超详细教程,一文入门Istio架构原理及实战应用
Arcgis 10.2.2 | arcgis license server无法启动的解决办法
Application practice | Shuhai supply chain construction of data center based on Apache Doris
Jerry's ad series MIDI function description [chapter]
如何使用ConcurrentLinkedQueue做一个缓存队列
【C语言】符号的深度理解
随机推荐
Master the use of auto analyze in data warehouse
EhLib 数据库记录的下拉选择
[ 每周译Go ] 《How to Code in Go》系列文章上线了!!
redis事务
Flink1.13 SQL basic syntax (I) DDL, DML
Acwing 2022 daily question
flink1.13 sql基础语法(一)DDL、DML
Huawei ENSP simulator enables devices of multiple routers to access each other
【C语言】符号的深度理解
【LeetCode】17、电话号码的字母组合
如何借助自动化工具落地DevOps
The video sound of station B is very low - solution
Stealing others' vulnerability reports and selling them into sidelines, and the vulnerability reward platform gives rise to "insiders"
哈希表(Hash Tabel)
Word文档中标题前面的黑点如何去掉
CloudCompare&Open3D DBSCAN聚类(非插件式)
Operation of adding material schedule in SolidWorks drawing
改善机器视觉系统的方法
Jerry's ad series MIDI function description [chapter]
Difference between ApplicationContext and beanfactory (MS)