当前位置:网站首页>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
边栏推荐
猜你喜欢
随机推荐
深度学习框架pytorch快速开发与实战chapter4
Flask请求应用上下文源码分析
Sentinel源码(五)FlowSlot以及限流控制器源码分析
网络安全第五次作业
【ONE·Data || Getting Started with Sorting】
网络安全第一次作业(2)
动态刷新日志级别
专访|带着问题去学习,Apache DolphinScheduler 王福政
跑yolov5又出啥问题了(1)p,r,map全部为0
deal!It's July 30th!
xshell连接虚拟机步骤_建立主机与vm虚拟机的网络连接
Break the limit of file locks and use storage power to help enterprises grow new momentum
【学习笔记】数位dp
RHCE第一天作业
yolov5,yolov4,yolov3乱七八糟的
paddleocr window10初体验
chapter7
What are the file encryption software?Keep your files safe
目标检测场景SSD-Mobilenetv1-FPN
史上最全!47个“数字化转型”常见术语合集,看完秒懂~









