首先,寫這個文檔的原因是因為我轉載了一篇文章,不會編輯。擦。。。。
1. 首先收輸入層是毛東西?
就是輸入的圖像,有可能是三通道的有可能是單通道的。
比如28*28*1或者28*28*3 分別代表的是大小為28*28,通道數分別為單通道和三通道的圖片
2. 其次,什么是filter呢
filter的最大的特點是其深度與輸入層的深度是一致的。輸入層是單通道,filter也是單通道。 輸入層是三通道,filter也是三通道!!!
3. 最后輸出層又是什么呢?
輸出層的就是filter遍歷輸入層后的的計算結果。
如下圖所示:
4. 那么具體的計算過程是怎么樣的呢?
見上一篇博客!!!
這里只是想說,輸出層的深度是濾波器的個數!每一個filter遍歷輸入層會產生一個深度的輸出層,那么n個輸出層就會產生n個深度的輸出層(也就是輸出層的深度啦)。
這里再說一下,輸出層每一個深度的計算過程。比如,輸入層是28*28*3的圖像,filter為3*3*3的濾波器。那么3個通道的filter會相應的每一個通道相互獨立計算,然后再將3個通道的值相加在一起。
這就是每一個filter的計提的計算過程。現在就是CNN卷積的處理過程。
終結大笨狗!!!
5. tensorflow中的conv2d中是怎么處理卷積的過程的呢?
其中,在conv2d中,
假設inpute的四個維度是[batch, in_height, in_width, in_channels]
,
filter的四個維度是[filter_height, filter_width, in_channels,out_channels]
。
這樣是不是就很清楚了。filter的輸入輸出就已經寫的很清楚啦。filter的通道數與輸入層的通道數是一致的,就是in_channels
!!!
filter的四個維度中中哪個參數有體現了filter的數量呢?
對,就是 out_channels,有多少輸出通道,就有多少個filter!!!