当前位置:网站首页>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
边栏推荐
猜你喜欢

网络安全第五次作业

【ONE·Data || Getting Started with Sorting】

ZABBIX配置邮件报警和微信报警

The most complete ever!A collection of 47 common terms of "digital transformation", read it in seconds~

史上最全!47个“数字化转型”常见术语合集,看完秒懂~

C language improvement (3)

第二讲 软件生命周期

window10下半自动标注

Object detection scene SSD-Mobilenetv1-FPN

此次519暴跌的几点感触 2021-05-21
随机推荐
第十四单元 视图集及路由
你接受不了60%的暴跌,就没有资格获得6000%的涨幅 2021-05-27
标量替换、栈上分配、同步消除
The world's largest Apache open source foundation is how it works?
Flask上下文,蓝图和Flask-RESTful
FFmpeg 的AVCodecContext结构体详解
苏州大学:从 PostgreSQL 到 TDengine
理解TCP长连接(Keepalive)
vim复制粘贴_vim如何复制粘贴
未来的金融服务永远不会停歇,牛市仍将继续 2021-05-28
史上最全!47个“数字化转型”常见术语合集,看完秒懂~
ZABBIX配置邮件报警和微信报警
C language improvement (3)
MobileNet ShuffleNet & yolov5替换backbone
drf路由组件Routers
Flask请求应用上下文源码分析
RowBounds[通俗易懂]
【Tensorflow】AttributeError: module ‘keras.backend‘ has no attribute ‘tf‘
【Tensorflow】AttributeError: '_TfDeviceCaptureOp' object has no attribute '_set_device_from_string'
第十二单元 关联序列化处理