当前位置:网站首页>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
边栏推荐
猜你喜欢
随机推荐
跑yolov5又出啥问题了(1)p,r,map全部为0
VMM是什么?_兮是什么意思
Object detection scene SSD-Mobilenetv1-FPN
What are the file encryption software?Keep your files safe
第四单元 路由层
web测试和app测试的区别?
Geoffery Hinton:深度学习的下一个大事件
mysql的case when如何用
Mysql's case the when you how to use
yolov5,yolov4,yolov3乱七八糟的
第二届中国Rust开发者大会(RustChinaConf 2021~2022)线上大会正式开启报名
智能指针-使用、避坑和实现
第三单元 视图层
FFmpeg AVPacket详解
The most complete ever!A collection of 47 common terms of "digital transformation", read it in seconds~
shell脚本“画画”
paddle window10环境下使用conda安装
Audio processing: floating point data stream to PCM file
监管再次重拳出击,后市如何?2021-05-22
drf源码分析与全局捕获异常









