iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 17
1
AI & Data

30天只學U-net系列 第 17

[day-17] 番外 - U-net的程式碼實現 (5) - UpSampling2D

前言

之前提及的upampling,對於初學CNN的人比較會不知道細節,今天就來介紹反捲積的細節吧。

upsampling

 up6 = Conv2D(512, 2, activation = 'relu', padding = 'same', kernel_initializer = 'he_normal')(UpSampling2D(size = (2,2))(drop5))

套娃結構,讓程式碼更可讀可以這樣寫

 up6 = UpSampling2D(size = (2,2))(drop5)
 up6 = Conv2D(512, 2, activation = 'relu', padding = 'same', kernel_initializer = 'he_normal')(up6)

這邊要注意,程式碼中的upsampling2D並不是實際意義上的反捲積,他只是相影像的長寬擴大了兩倍,之後再利用2X2的捲積來實現反捲積。
https://ithelp.ithome.com.tw/upload/images/20201002/20112571wkZjg06Hbm.png
如果直接看反捲積的是意圖,不難發現,跟程式碼說明的捲積是等效果的。

結語

基本上所有的結構都快介紹完畢,明天剩下了最後一種結構。

reference

[1] [UpSampling2D layer] (https://keras.io/api/layers/reshaping_layers/up_sampling2d/)
[2] zhixuhao's unet
[3] Computer Vision Group
[4] 【圖解AI:動圖】各種型別的卷積,你認全了嗎?


上一篇
[day-16] 番外 - U-net的程式碼實現 (4) - dropout?(下)
下一篇
[day-18] 番外 - U-net的程式碼實現 (6) - concatenate
系列文
30天只學U-net30

尚未有邦友留言

立即登入留言