input: 3 * 5 * 5 (c * h * w)
pading: 1
步長: 2
卷積核: 2 * 3 * 3 * 3 ( n * c * k * k )
output: 2 * 3 * 3 ( c * h * w )
如下圖所示:
首先需要理解caffe裡面的im2col和col2im
然後 卷積層 其實和 全連線層 差不多了
input: 3 * 4 * 4 ( c * h * w )
卷積核: 1 * 3 * 3 * 3 ( n * c * h * w 只考慮乙個卷積核的情況 )
output:1* ( 3 * 3 * 3 ) * ( 2 * 2 ) ( n * h * w )
如下圖所示:
卷積核: m * c * k * k
m 個卷積核
步長: stride
填充: pad
擴充套件: dilation
output: 1 * m * h * w
h = ( h + 2 * pad - dilation * ( k - 1 ) ) / stride + 1
w = ( w + 2 * pad - dilation * ( k - 1 ) ) / stride + 1
input: 1 * ( c * k * k ) * ( h * w )
weight: m * (c * k * k)
bias: m * 1
output: 1 * m * h * w
caffe原始碼 之 Relu層
本文主要實現caffe框架中 src caffe layers relu layer.cpp檔案,該檔案實現的是啟用函式relu。relu是近些年非常流行的啟用函式。相比於sigmoid與tanh,它具有一定的優越性,這三者對比可見它的函式公式是f x max 0,x 換句話說,這個啟用函式就是乙個...
Roi Pooling層caffe原始碼解讀
在看fasterrcnn以及和maskrcnn的時候,發現自己對fasterrcnn的roi pooling層的原理還是不是很明白,之前只是知道roi pooling是將rpn輸出的乙個roi的區域對映成乙個固定大小的map,再送入後面的分類層進行分類。最近看了下roi pooling層的原始碼,頓...
Caffe之Scale層原始碼
最近要對模型進行壓縮使用slimming,因此需要scale層對scale diff進行l1正則。所以對原始碼進行了閱讀。公式 y ax b。公式比較簡單。上述公式的意思是,對feature map乘以a,並加b。乙個feature map共用乙個a,因此 a的維度是 c 這是理解原始碼的前提。反向...