caffe原始碼解析 im2col

2021-07-22 15:55:18 字數 1323 閱讀 4319

im2col這個函式特別棒!為啥?因為它讓卷積變得簡單,他將卷積操作轉變為矩陣乘法,對比發現全連線層的實質就是矩陣乘法,所以這個函式使得卷積層的很多操作只需要仿照全連線層就可以了。下面主要介紹一下這兩個函式:

im2col_cpu,將輸入feature map轉變為矩陣

col2im_cpu,將輸出的殘差map傳遞給輸入的殘差map,具體的殘差傳遞還涉及權重

template

void im2col_cpu(const dtype* data_im, const

int channels,

const

int height, const

int width, const

int kernel_h, const

int kernel_w,

const

int pad_h, const

int pad_w,

const

int stride_h, const

int stride_w,

const

int dilation_h, const

int dilation_w,

dtype* data_col)

}else

else

//輸出列座標移動(下乙個卷積視窗了)

input_col += stride_w;}}

//輸入行座標移動(下乙個卷積視窗了)

input_row += stride_h;}}

}}

}

template

void col2im_cpu(const dtype* data_col, const

int channels,

const

int height, const

int width, const

int kernel_h, const

int kernel_w,

const

int pad_h, const

int pad_w,

const

int stride_h, const

int stride_w,

const

int dilation_h, const

int dilation_w,

dtype* data_im)

else

data_col++;

input_col += stride_w;}}

input_row += stride_h;}}

}}

}

用python實現卷積神經網路 im2col函式

卷積神經網路的核心之一 卷積運算,常用到函式im2col。它將包含批數量的4維資料轉換成2維資料,以適應展開的濾波器。im2col 的 如下 def im2col input data,filter h,filter w,stride 1,pad 0 parameters input data 由 ...

caffe原始碼解析

目錄目錄 簡單介紹 主要函式readprotofromtextfile 函式 writeprotototextfile 函式 readprotofrombinaryfile 函式 writeprototobinaryfile 函式 readimagetocvmat 函式 matchext 函式 cv...

caffe原始碼解析 一

用si載入 後 首先從caffe layer的實現看起,不同框架下最大的差異就在於層的實現也決定了層的靈活性 layer可以看成是乙個基類,下面存在data layer,activation neuron layers,vision layer,common layers,loss layer,各個...