当前位置:网站首页>Understand efficientnet
Understand efficientnet
2022-04-22 13:41: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.

Link to the original text :
https://towardsdatascience.com/complete-architectural-details-of-all-efficientnet-models-5fd5b736142
Produced by Xiaobai team : Zero basis proficient in semantic segmentation ↓↓↓

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 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 the 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 individual Actual 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 . Do not Send ads within the group , Or you'll be invited out , Thanks for your understanding ~


版权声明
本文为[Xiaobai learns vision]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204221340005069.html
边栏推荐
- Apache SkyWalking 告警配置指南
- Share the five cases of websites slowing down recently
- Reading target detection (2): fast r-cnn
- Harbor V2. 5 Mise à jour, quelles fonctions ont été ajoutées?
- FreeRTOS quick start
- 【计量经济学】统计推断
- Soochow securities x kangaroo cloud: the data is easily available and has millisecond response ability. What did Soochow securities do right?
- Données du panel sur la productivité verte totale des facteurs du pfgt par province (2004 - 2018)
- VMware虚拟机克隆后NAT模式下网络的配置
- 是什么让我节省了60%的编码时间?使用MBG
猜你喜欢
[live broadcast attack] the oneos system tutorial is fully launched. We invite you to study with ST and oneos!

What are the types of blocking queues in the thread pool?

C# 7.0 使用下划线忽略使用的变量

FreeRTOS quick start

关于chartjs 屏幕大小自适应

Citrix SQL数据如何进行多表联查

Measurement and driving factors of China's digital economy - informatization degree measurement index (2013-2020)

SixTool多功能多合一代挂助手系统源码

数据库资源负载管理(下篇)

ORA-1652 无法扩展TEMP表空间
随机推荐
智汀如何连接小米智能音箱?
Redis persistence
What saved me 60% of my coding time? Use MBG
Harbor v2. 5 update, what functions have been added?
no main manifest attribute / . There is no main manifest attribute in jar
Full link remodeling! From thinking to practice, digital transformation is the successful path of it operation
The vscode database calls the stored procedure and unrecognized data appears
提供信贷支持、创新金融产品……广州金融机构为交通等行业企业纾困解难
Tobin Q data - Shanghai and Shenzhen A-share listed companies (including industry name, code and other indicators) 2003-2020
Functional limit of calculus
redis持久化
各省GTFP绿色全要素生产率面板数据(2004-2018年)
[fluent special topic] 91 illustration of future (II) yyds dry goods inventory of dart single thread asynchronous processing
Network configuration in NAT mode after VMware virtual machine cloning
[introduction to keras] MNIST dataset classification
How does zhiting connect Xiaomi smart speakers?
微信小程序添加数据到数据库
好物合集(1)
Communication principle of SPI protocol
OSPF basic configuration of routing basis