当前位置:网站首页>MobileNet ShuffleNet & yolov5替换backbone
MobileNet ShuffleNet & yolov5替换backbone
2022-08-02 14:02:00 【weixin_50862344】
以下内容参考参考
MobileNet V1
亮点:
(1)使用可分离卷积核大幅减少参数量
(2)增加了超参数a,b
a:卷积核个数的倍率
b:分辨率高低
MobileNet V2
亮点:
(1)使用倒结构残差
残差结构:两边粗,中间细
倒残差结构:两边细,中间粗
MobileNet V3
亮点:
(1)更新block
①新增SE模块
②更换激活函数
(2)重新设计耗时层结构
①减少第一个卷积层的卷积核个数
②精简了last stage:删除了对性能没有明显提升的部分
(3)重新设计激活函数
swishx复杂,替换成效果差不多的h-switch
ShuffleNetV1
亮点:
①使用组卷积大幅减少参数量
②在组卷积之后使用Shuffle层有利于不同组之间信息共享
ShuffleNetV2
笔记来自这里!
ShuffleNetV2直接通过控制不同的环境来直接测试网络在设备上运行速度的快慢,而不是通过FLOPs来判断。
(1)四条原则
1.当卷积层的输入特征矩阵与输出特征矩阵channel相等时MAC最小(保持FLOPs不变时)
- MAC:内存访问成本
2.当GConv的groups增大时(保持FLOPs不变时),MAC也会增大
GConv:组卷积组卷积的介绍在这
GroupConv将卷积Filter分为G组,输入特征映射通道也分为G组,每组卷积Filter处理对应的一组输入特征映射通道。由于每一组卷积Filter只应用于相应的输入通道组,卷积的计算代价显著降低。
同时也会带来缺点:
通道信息并不在不同的组之间共享,即不同组的输出Feature map通道只从对应组的输入通道接收信息。这阻碍了不同组通道之间的信息流动,降低了GroupConv的特征提取能力。
一方面,它允许在一个固定的FLOPs下使用更多的channels,并增加网络容量(从而提高准确性)。然而,另一方面,增加的通道数量导致更多的MAC
3.网络设计的碎片化程度越高,速度越慢
4.Element-wise操作带来的影响是不可忽视的
实战
实际上对于一个模块的更换,无非就是三步:
①定义模块
②在yolo.py注册模块
注册换句话说不一定会使用到
③在yaml文件中更换相应的层结构
Shufflenetv2
Mobilenetv3
边栏推荐
猜你喜欢
随机推荐
els 长条方块变形条件、边界碰撞判定
Flask-RESTful请求响应与SQLAlchemy基础
RHCE第一天作业
标量替换、栈上分配、同步消除
RKMPP 在FFmpeg上实现硬编解码
存储过程详解
第二届中国Rust开发者大会(RustChinaConf 2021~2022)线上大会正式开启报名
MySQL数据库设计规范
binary search && tree
C# using 使用方法
How to solve 1045 cannot log in to mysql server
hsql是什么_MQL语言
Linux:CentOS 7 安装MySQL5.7
理解TCP长连接(Keepalive)
智能指针-使用、避坑和实现
瑞吉外卖笔记——第08讲读写分离
rust使用mysql插入数据
RKMPP库快速上手--(一)RKMPP功能及使用详解
CVE-2020-27986(Sonarqube敏感信息泄漏) 漏洞修复
网络安全第三次作业









