最近專案上需要實現直接卷積,就看相關的教程中實現的都是訊號和電子領域的卷積,結果和計算機領域的不一致,原因大家可以自己搜一下,計算機影象領域的卷積其實不是真正的卷積。
其演算法示意如下圖所示:
輸入:imput[ic][ih][iw]ic = input.channels
ih = input.height
iw = input.width
卷積核: kernel[kc1][kc2][kh][kw]
kc1 = oc
kc2 = ic
kh = kernel.height
kw = kernel.width
輸出:output[oc][oh][ow]
oc = output.channels
oh = output.height
ow = output.width
其中,padding = valid,stride = 1,
oh = ih - kh + 1
ow = iw - kw + 1
for(int ch=0;ch後邊兩種是我根據上邊的理解,加入stride的影響,寫的。歡迎參考
方案1,根據input
for(int ch=0;ch)}}
output[ch][ih+kh/2][iw+kw/2] =sum;}}
}
for(int ch=0;ch)}}output[ch][oh][ow] +=sum;
}//if(bias) tem +=bias
}}
卷積的理解
卷積,看著好煩人的東西啊。直接上來公式 好氣啊,什麼意思啊,一頭霧水。換種方式。假設你挨一拳f t 而這一拳的響應為h t 這樣後果疼痛就是fh。這很合理。你想啊,你一秒鐘挨一拳,那麼最新的一拳和舊的一拳都有疼痛的後果。這個痛是有多痛呢?你現在的拳,和之前拳的殘留。這樣求總痛怎麼求呢?依此疊加。注意...
卷積的理解
最近大火人工智慧,深度學習,各種提到卷積神經網路。不搞懂卷積,好像學習不下去了。於是就去看各種文章,以下是三篇解釋的比較不錯的,附上鏈結。我對卷積的理解 最容易理解的對卷積 convolution 的解釋 理解深度學習中的卷積 這裡做一下總結吧。離散的卷積公式 g n i f i h n i g n...
卷積的理解
訊號處理中的乙個重要運算是卷積.初學卷積的時候,往往是在連續的情形,兩個函式f x g x 的卷積,是 f u g x u du 當然,證明卷積的一些性質並不困難,比如交換,結合等等,但是對於卷積運算的來處,初學者就不甚了了。其實,從離散的情形看卷積,或許更加清楚,對於兩個序列f n g n 一般可...