当前位置:网站首页>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 .

478b4e0522ab37f5f6b984a6cb2cc74d.png

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 .

05b049d4e2d009314d41a111f7f2572a.png

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 .

0e116a39c072fbf96babe3079c7718de.png

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 .

b30f86c3fd730f7f9c5b9d825c8ee4f1.png

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 .

20fc10f4c96ae4e674e19e93ef016e1e.png

  • 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

78bd4c10f0f262e65002f7e6435cf9d6.png

EfficientNet-B0 framework .(x2 Indicates that the module in parentheses is repeated twice )

EfficientNet-B1

2e03c41603e9dc931e59062d04065441.png

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

3dca6554a31cca610d65a3be18173ec2.png

EfficientNet-B3 Structure

EfficientNet-B4

87cd91aa4959366ccfd01cbf21887a29.png

EfficientNet-B4 Structure

EfficientNet-B5

5b3cd23aa226a0d3efd91423073e0494.png

EfficientNet-B5 Structure

EfficientNet-B6

7b178e2016b92603cddce339ac83db99.png

EfficientNet-B6 Structure

EfficientNet-B7

e0f8e09f5c18abff0a2b06529fb3a60e.png

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 .

a0a043f258895153753f2856fdb7c945.png

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 :

e64eb56c0320ce8559f6b3a0589b94c4.png

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.

a12c6efccec2701b27a6355b5726d39b.png

The good news !

Xiaobai learns visual knowledge about the planet

Open to the outside world

0e0f7674cdeaa9a99f23840021179871.jpeg

 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 ~
原网站

版权声明
本文为[Xiaobai learns vision]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/188/202207071237330294.html