(1)單個獨立卷積核的通道數=輸入圖像的通道數(輸入圖像決定);
(2)獨立卷積核的個數=輸出圖像的通道數(用戶決定)。
在描述卷積核時,“ 卷積核通道數 ”這個概念必須搞清楚,是指“ 單個獨立卷積核的通道數 ”,還是指 獨立卷積核的個數(輸出通道數) 。
例:
假如輸入圖像的規模為 32×32×128 ,即輸入通道數為128;
那麽根據前面(1)可知單個卷積核的通道數也是128,即卷積核尺寸應該為: n×n×128 (n通常為3、5、7等)。
假如用256個這樣的卷積核對輸入進行卷積,則最後得到的輸出圖像尺寸為(根據前面(2)): (32-n+1)×(32-n+1)×256 ,即輸出圖像有256個通道(壹個卷積核得到壹個輸出結果,也就是壹個通道,相當於把原來只有128層的圖像,擴展到了256層)。
可見,本次所有卷積核尺寸(或者說卷積核的總參數個數)是: n×n×128×256
需要註意的是, 很多時候在描述卷積核時,通常會忽略單個卷積核的通道數,而保留了卷積核個數 ,如上面的總卷積核簡寫為: n×n×256 ,省略了128,這麽寫是有道理的,因為這4個參數中128這個參數是由輸入圖像的通道數決定的,而其他三個參數則是由用戶決定的。
因此在解讀卷積核尺寸時,必須搞清楚,第三個參數是輸入通道數還是卷積核個數。判斷標準就是前面的(1)和(2)兩點結論。
圖片通道channel :通常jpg等彩色圖片由R、G、B三個圖層構成,每個圖層實際上就是壹個二維矩陣,也就是所謂的壹個通道,因此壹個彩色圖片通常有3個通道,而壹個黑白圖片就只有壹個通道。
tensorfllow中的“輸入通道in_channels”:輸入圖像的通道數。
tensorfllow中的“輸出通道out_channels”:輸出圖像的通道數。
最初輸入的圖片樣本的 channels ,取決於圖片類型,比如RGB;
卷積操作完成後輸出的 out_channels ,取決於卷積核的數量。此時的 out_channels 也會作為下壹次卷積時的卷積核的 in_channels;
卷積核中的 in_channels ,就是上壹次卷積的 out_channels ,如果是第壹次做卷積,就是輸入本圖片的 channels 。
tf.nn.conv2d()是TensorFlow裏面實現卷積的函數,其調用方式如下:
下圖展示了對壹張3通道jpeg圖片進行兩次連續卷積操作的過程:
輸出結果:
blogs.com/welhzh/p/6607581.html
blogs.com/billux/p/9072173.html