当前位置:网站首页>MobileNet ShuffleNet & yolov5 replace backbone
MobileNet ShuffleNet & yolov5 replace backbone
2022-08-02 14:18:00 【weixin_50862344】
The following content refers to reference
MobileNet V1
Highlights:
(1) The use of separable convolution kernels greatly reduces the amount of parameters
(2) Increases hyperparameters a, b
a: magnification of the number of convolution kernels
b: resolution level
MobileNet V2
Highlights:
(1) Use inverted structure residuals
Residual structure: thick on both sides, thin in the middle
Inverted residual structure: thin on both sides, thick in the middle
MobileNet V3
Highlights:
(1) Update block
①Add SE module
②Replace activation function
(2) Redesign the time-consuming layer structure
①Reduce the number of convolution kernels in the first convolutional layer
②Simplify the last stage: delete the part that does not significantly improve performance
(3) Redesign the activation function
swishx is complicated, replace it with h-switch with similar effect
ShuffleNetV1
Highlights:
①Using group convolution to greatly reduce the amount of parameters
②Using Shuffle layer after group convolution is beneficial to information sharing between different groups
ShuffleNetV2
Notes from here!
ShuffleNetV2 directly tests how fast the network runs on the device by controlling different environments, rather than judging by FLOPs.
(1) Four Principles
1. When the input feature matrix of the convolutional layer is equal to the output feature matrix channel, the MAC is the smallest (keeping FLOPs unchanged)
- MAC:Memory access cost
2. When the GConv groups increase (while keeping the FLOPs unchanged), the MAC also increases
GConv: Group ConvolutionThe introduction of group convolution is here
GroupConv divides the convolutional Filters into G groups, and the input feature map channels are also divided into G groups, each group of convolutional Filters processes a corresponding set of input feature mapsaisle.Since each group of convolution filters is only applied to the corresponding input channel group, the computational cost of convolution is significantly reduced.
There are also disadvantages:
Channel information is not shared between different groups, that is, the output Feature map channels of different groups only receive information from the input channels of the corresponding group.This hinders the information flow between different group channels and reduces the feature extraction ability of GroupConv.
On the one hand, it allows more channels to be used under a fixed FLOPs, and increases network capacity (and thus accuracy).However, on the other hand, increased number of channels results in more MACs
3. The more fragmented the network design, the slower the speed
4. The impact of Element-wise operation cannot be ignored
Practice
Someone else wrote it so well!!!
Actually, the replacement of a module is nothing more than three steps:
①Define the module
②Register the module in yolo.py
In other words, registration may not necessarily use 
③Replace the corresponding layer structure in the yaml file
Shufflenetv2
Mobilenetv3
边栏推荐
猜你喜欢
随机推荐
drf源码分析与全局捕获异常
目标检测场景SSD-Mobilenetv1-FPN
EasyExcel 的使用
RowBounds[通俗易懂]
mysql的case when如何用
第十四单元 视图集及路由
WeChat Mini Program-Recent Dynamic Scrolling Implementation
网络剪枝(1)
世界上最大的开源基金会 Apache 是如何运作的?
IDEA打包jar包
binary search && tree
无序数组排序并得到最大间隔
AWVS工具介绍[通俗易懂]
泡利不相容原理适用的空间范围(系统)是多大?
2022-08-02日报:2022年7月最热的10篇AI论文
How to solve 1045 cannot log in to mysql server
网络安全第六次作业
ftp常用命令详解_iftop命令详解
rust使用mysql插入数据
ping命令的使用及代码_通过命令查看ping路径









