当前位置:网站首页>Full details of efficientnet model
Full details of efficientnet model
2022-07-07 14:32:00 【Xiaobai learns vision】
Click on the above “ Xiaobai studies vision ”, Optional plus " Star standard " or “ Roof placement ”
Heavy dry goods , First time delivery
Reading guide
This paper introduces an efficient network model EfficientNet, And analyzed EfficientNet B0 to B7 The differences between the network structures .
I'm in a Kaggle Read in the competition notebooks, It turns out that almost everyone is using EfficientNet As their backbone , And I've never heard of this before .
Google AI In this article :https://arxiv.org/abs/1905.11946 Introduced it , They tried to come up with a more efficient method , As its name suggests , At the same time, it improves the latest results . Generally speaking , The model is designed too wide , Too deep , Or the resolution is too high . At the beginning , Adding these features is useful , But it will soon be saturated , Then the parameters of the model will be many , So the efficiency is not high . stay EfficientNet in , These features are extended in a more principled way , in other words , Everything is gradually increasing .
I don't understand what happened ? Don't worry about , Once you see the architecture , You will understand . But first of all , Let's see what they got .
Because the number of parameters is quite small , This model family is very efficient , Also provide better results . Now we know why these may become standard pre training models , But something is missing .
something in common
First , Any network takes it as the backbone , After that , All experiments on architecture start with it , This is in all 8 The two models are the same as in the last layer .
after , Each trunk contains 7 individual block. these block There are different numbers of children block, These block The number goes with EfficientNetB0 To EfficientNetB7 And increase . To visualize the model layer , The code is as follows :
!pip install tf-nightly-gpu
import tensorflow as tf
IMG_SHAPE = (224, 224, 3)
model0 = tf.keras.applications.EfficientNetB0(input_shape=IMG_SHAPE, include_top=False, weights="imagenet")
tf.keras.utils.plot_model(model0) # to draw and visualize
model0.summary() # to see the list of layers and parameters
If you calculate EfficientNet-B0 The total number of floors , The total number is 237 layer , and EfficientNet-B7 The total number of is 813 layer !! But don't worry , All of these layers can be made up of 5 It consists of three modules and the upper trunk .
We use this 5 Two modules to build the whole structure .
modular 1 — This is the son block The starting point of the .
modular 2 — This module is used for all modules except the first module 7 The first sub module of the first main module block The starting point of the .
modular 3 — It's connected to all the children as a jump block.
modular 4 — Used to merge jump connections into the first child block in .
modular 5 — Each child block Are connected to the previous child by jumping connection block, And use this module for combination .
These modules are further combined into sub modules block, These block Will be in block To use in some way .
Son block1 — It is only used for the first block The first child in block.
Son block2 — It is used for all other block The first child in block.
Son block3 — For all block Any child except the first one in block.
up to now , We have specified to combine to create EfficientNet All the contents of the model , So let's start .
Model structure
EfficientNet-B0
EfficientNet-B0 framework .(x2 Indicates that the module in parentheses is repeated twice )
EfficientNet-B1
EfficientNet-B1 Structure
EfficientNet-B2
Its architecture is the same as the above model , The only difference is the characteristic graph ( passageway ) The number of different , Increased the number of parameters .
EfficientNet-B3
EfficientNet-B3 Structure
EfficientNet-B4
EfficientNet-B4 Structure
EfficientNet-B5
EfficientNet-B5 Structure
EfficientNet-B6
EfficientNet-B6 Structure
EfficientNet-B7
EfficientNet-B7 Structure
It's easy to see the differences between the models differences , They gradually increased the number of children block The number of . If you understand the architecture , I encourage you to print out any model , And read it carefully to understand it more thoroughly . The following table shows EfficientNet-B0 Kernel size and resolution of convolution operation in 、 Channels and layers .
This table has been included in the original paper . For the entire model family , The resolution is the same . I'm not sure if the size of the convolution kernel has changed . The number of layers has been shown in the figure above . The number of channels is different , It is calculated from the information seen in the summary of each model , As shown below :
Before the end , I attached another image , Research papers from it , Shows it with other SOTA Of performance Comparison , There are also reduced number of parameters and required FLOPS.
The good news !
Xiaobai learns visual knowledge about the planet
Open to the outside world
download 1:OpenCV-Contrib Chinese version of extension module
stay 「 Xiaobai studies vision 」 Official account back office reply : Extension module Chinese course , You can download the first copy of the whole network OpenCV Extension module tutorial Chinese version , Cover expansion module installation 、SFM Algorithm 、 Stereo vision 、 Target tracking 、 Biological vision 、 Super resolution processing and other more than 20 chapters .
download 2:Python Visual combat project 52 speak
stay 「 Xiaobai studies vision 」 Official account back office reply :Python Visual combat project , You can download, including image segmentation 、 Mask detection 、 Lane line detection 、 Vehicle count 、 Add Eyeliner 、 License plate recognition 、 Character recognition 、 Emotional tests 、 Text content extraction 、 Face recognition, etc 31 A visual combat project , Help fast school computer vision .
download 3:OpenCV Actual project 20 speak
stay 「 Xiaobai studies vision 」 Official account back office reply :OpenCV Actual project 20 speak , You can download the 20 Based on OpenCV Realization 20 A real project , Realization OpenCV Learn advanced .
Communication group
Welcome to join the official account reader group to communicate with your colleagues , There are SLAM、 3 d visual 、 sensor 、 Autopilot 、 Computational photography 、 testing 、 Division 、 distinguish 、 Medical imaging 、GAN、 Wechat groups such as algorithm competition ( It will be subdivided gradually in the future ), Please scan the following micro signal clustering , remarks :” nickname + School / company + Research direction “, for example :” Zhang San + Shanghai Jiaotong University + Vision SLAM“. Please note... According to the format , Otherwise, it will not pass . After successful addition, they will be invited to relevant wechat groups according to the research direction . Please do not send ads in the group , Or you'll be invited out , Thanks for your understanding ~
边栏推荐
- Million data document access of course design
- Use case diagram
- PLC:自动纠正数据集噪声,来洗洗数据集吧 | ICLR 2021 Spotlight
- CVPR2022 | 医学图像分析中基于频率注入的后门攻击
- 小程序目录结构
- 课设之百万数据文档存取
- 云上“视界” 创新无限 | 2022阿里云直播峰会正式上线
- 2022pagc Golden Sail award | rongyun won the "outstanding product technology service provider of the year"
- Leetcode - Sword finger offer 05 Replace spaces
- ES日志报错赏析-trying to create too many buckets
猜你喜欢
数据湖(九):Iceberg特点详述和数据类型
因员工将密码设为“123456”,AMD 被盗 450Gb 数据?
内部排序——插入排序
云上“视界” 创新无限 | 2022阿里云直播峰会正式上线
Multi merchant mall system function disassembly lecture 01 - Product Architecture
Substance Painter笔记:多显示器且多分辨率显示器时的设置
常用数字信号编码之反向不归零码码、曼彻斯特编码、差分曼彻斯特编码
LeetCode 648. Word replacement
全球首款 RISC-V 笔记本电脑开启预售,专为元宇宙而生!
Codes de non - retour à zéro inversés, codes Manchester et codes Manchester différentiels couramment utilisés pour le codage des signaux numériques
随机推荐
c#利用 TCP 协议建立连接
libSGM的horizontal_path_aggregation程序解读
ES日志报错赏析-trying to create too many buckets
C # use TCP protocol to establish connection
昇腾体验官第五期随手记I
Half an hour of hands-on practice of "live broadcast Lianmai construction", college students' resume of technical posts plus points get!
一款你不容错过的Laravel后台管理扩展包 —— Voyager
JS get the current time, month, day, year, and the uniapp location applet opens the map to select the location
小米的芯片自研之路
Similarities and differences between switches and routers
UML state diagram
SAKT方法部分介绍
内部排序——插入排序
Cocos creator direction and angle conversion
LeetCode 648. 单词替换
KITTI数据集简介与使用
Notes de l'imprimante substance: paramètres pour les affichages Multi - écrans et multi - Résolutions
LeetCode 648. Word replacement
多商户商城系统功能拆解01讲-产品架构
The longest ascending subsequence model acwing 482 Chorus formation