caffe中常見層的用法以及引數

2021-09-02 22:51:49 字數 1447 閱讀 2179

caffe中常見的一些層的用法,和引數配置

官方文件

1.reshape改變輸入資料的維度

常見配置如下:

layer 

}}

輸入和輸出都是類似blob的四維張量,n*c*w*h

通過reshape_param中的shape引數改變張量的維度四個dim分別代表output(top)中的資料維度,後面的數字表示給維度具體要變成什麼樣。

舉個例子,設輸入為 32*3*28*28

shape

dim:0 表示 output(top)中的n 直接複製 input(bottom)中n的維度 為 32

dim:0表示 output(top)中的直接複製 input(bottom)中c的維度 為3

dim:3表示 output(top)中的w 變為28維 變為 14

dim:-1 表示這一維度的具體數字通過其他維度推算 為56,推算過程如下:總的資料量不變,只改變 ncwh 四個維度的具體數字

(32*3*28*28)/(32*3*14) = 56

因此,經過reshape後輸出為32*3*14*56

2.flatten變多維矩陣為一維向量

常見配置如下:

layer

}

flatten層是把乙個輸入的大小為n * c * h * w變成乙個簡單的向量,其大小為 n * (c*h*w) * 1 * 1

axis [default 1]:0代表鏈結n,1代表鏈結c

3.concat按照axis連線多個blob

常見配置如下:

layer

}

輸入輸出均為n*c*w*h的blob張量

可選引數:

axis [default 1]:0代表鏈結n,1代表鏈結c

通過全連線層後的大小變化:

輸入:從1到k的每乙個blob的大小:ni×ci×h×w

輸出:

如果axis = 0: (n1+n2+…+nk)×c1×h×w,需要保證所有輸入的ci相同。

如果axis = 1: n1×(c1+c2+…+ck)×h×w,需要保證所有輸入的n_i 相同。

通過concatenation層,可以把多個的blobs鏈結成乙個blob。

4.transpose

5.permute

6.im2col

參考部落格

caffe中常見的一些層的用法,和引數配置

官方文件

1.reshape改變輸入資料的維度

常見配置如下:

vue中常見的 的用法

a let vm new vue mounted console.log this.refs.myp 無論有多少個只能拿到乙個 console.log this.refs.mydiv 可以拿到乙個陣列 this.arr 1,2,3,4 console.log this.refs.wrap debug...

SQL中常見函式的用法

1replace函式 在sql server 2000中有乙個資訊表,存放新聞資訊,現在客戶想批量更新這個欄位中的某些文字,替換為其他文字。解決方法 利用replace函式 update detail set content replace content,原文本 替換後文字 where 條件 構造...

SQL 中常用的日期函式以及SQL中常見的日期轉換

當前年月日curdate 當前的時刻curtime 日期的運算 datediff 2020 10 20 1996 10 29 date diff time,time1 返回兩個日期之間 time,time1 的天數 timediff time,time1 兩個日期相減 time time1,返回 t...