卷積神經網路參數量和計算量記憶體計算

2021-10-25 10:17:33 字數 1086 閱讀 4351

每一次卷積的參數量和特徵圖的大小無關,僅和卷積核的大小,偏置及bn有關。

1.每個卷積層的參數量,+1表示偏置:

co x (kw x kh x cin + 1)

2.全連線層的參數量

(d1 + 1) x d2

3.bn層的參數量

因為bn層需要學習兩個引數γ

\gamma

γ和β\beta

β,所以參數量是2xco

1.一次卷積的計算量(kxk次乘法+kxk-1次加法)

(kw x kh) + (kw x kh - 1)

2.乙個特徵圖上的卷積次數,即輸出特徵圖的大小

( h−

kh+2

∗pad

ding

s+1)

∗(w−

kw+2

∗pad

ding

s+1)

(+1}) * (+1})

(sh−kh

+2∗p

addi

ng​+

1)∗(

sw−k

w+2∗

padd

ing​

+1)3.全連線層的計算量(乘法+加法)

(d1 + (d1 - 1) + 1) x d2

1.參數量所佔記憶體

(32位的float需要占用4個位元組)

memory(mb) = params x 4 /1024 /1024

比如:vgg參數量約為138million,則記憶體大小為138*3.8 = 524mb

2.每張圖所佔記憶體

計算一整張圖的過程中的所有特徵圖層所佔記憶體為fw x fh x c的加和,乘以4byte,再/1024/1024。

3.訓練所佔視訊記憶體

比如:參數量為500w,則記憶體為19mb;

一張圖記憶體為100w,則記憶體為4mb;

batchsize = 128;

則:模型所佔視訊記憶體:19x2 = 38mb(1為params,1為adam)

輸出所佔視訊記憶體:128x4x2 = 1024mb(2為forward和backward)

總共需要視訊記憶體:38+1024 > 1g

學習筆記 神經網路的計算量和參數量估計

模型最終的的速度,不僅僅是和計算量多少有關係,還和諸如記憶體頻寬 優化程度 cpu流水線 cache之類的因素也有很大關係。對於輸入為i ii,輸出為j jj的全連線層,其權重w ww儲存在i j i times j i j的矩陣中。啟用函式沒有引數,所以參數量為0。lstm包含4個非線性變換,每一...

卷積神經網路引數

卷積神經網路 convolutional neural network,cnn 是深度學習技術中極具代表的網路結構之一,在影象處理領域取得了很大的成功,在國際標準的imagenet資料集上,許多成功的模型都是基於cnn的。cnn相較於傳統的影象處理演算法的優點之一在於,避免了對影象複雜的前期預處理過...

卷積神經網路和神經網路

在神經網路中,每一層的每個神經元都與下一層的每個神經元相連 如下圖 這種連線關係叫全連線 full connected 如果以影象識別為例,輸入就是是每個畫素點,那麼每乙個畫素點兩兩之間的關係 無論相隔多遠 都被下一層的神經元 計算 了。這種全連線的方法用在影象識別上面就顯得太 笨 了,因為影象識別...