大神 | EfficientNet模型的完整細節(jié)
點擊上方“小白學視覺”,選擇加"星標"或“置頂”
重磅干貨,第一時間送達
作者 | Vardan?Agarwal
來自 | AI公園 編譯 | ronghuaiyang
本文僅作學術(shù)交流,如有侵權(quán),請聯(lián)系后臺刪除。
本文介紹了一種高效的網(wǎng)絡模型EfficientNet,并分析了?EfficientNet?B0 至B7的網(wǎng)絡結(jié)構(gòu)之間的差異。
我在一個Kaggle競賽中翻閱notebooks,發(fā)現(xiàn)幾乎每個人都在使用EfficientNet?作為他們的主干,而我之前從未聽說過這個。
谷歌AI在這篇文章中:https://arxiv.org/abs/1905.11946介紹了它,他們試圖提出一種更高效的方法,就像它的名字所建議的那樣,同時改善了最新的結(jié)果。一般來說,模型設計得太寬,太深,或者分辨率太高。剛開始的時候,增加這些特性是有用的,但很快就會飽和,然后模型的參數(shù)會很多,因而效率不高。在EfficientNet中,這些特性是按更有原則的方式擴展的,也就是說,一切都是逐漸增加的。

不明白發(fā)生了什么?不要擔心,一旦看到了架構(gòu),你就會明白了。但首先,讓我們看看他們得到了什么結(jié)果。

由于參數(shù)的數(shù)目相當少,這個模型族是非常高效的,也提供更好的結(jié)果?,F(xiàn)在我們知道了為什么這些可能會成為標準的預訓練模型,但是缺少了一些東西。

!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

模塊1?— 這是子block的起點。 模塊2?— 此模塊用于除第一個模塊外的所有7個主要模塊的第一個子block的起點。 模塊3?— 它作為跳躍連接到所有的子block。 模塊4?— 用于將跳躍連接合并到第一個子block中。 模塊5?— 每個子block都以跳躍連接的方式連接到之前的子block,并使用此模塊進行組合。

子block1?— 它僅用于第一個block中的第一個子block。
子block2?— 它用作所有其他block中的第一個子block。 子block3?— 用于所有block中除第一個外的任何子block。
EfficientNet-B0

EfficientNet-B1

EfficientNet-B2
EfficientNet-B3

EfficientNet-B4

EfficientNet-B5

EfficientNet-B6

EfficientNet-B7




交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~

