卷積層計算量(FLOPS)和參數(shù)量的計算
1.卷積參數(shù)量的計算,若卷積層的輸入featuremap的維度為Cin×Hin×Win,卷積核的大小為K1×K2,?padding=P1×P2,?stride=S1×S2,卷積核(filter)的數(shù)量為Cout,則輸出特征圖的大小為Cout×Hout×Wout,其中:

Hout=?(H?K1+2P1)/S1?+1
Wout=?(W?K2+2P2)/S2?+1
???表示向下取整。
參數(shù)量的計算,由于卷積層共享參數(shù)的特性,做一次卷積只和輸入通道數(shù)Cin,卷積核的大小K1和K2有關(guān),而與輸入高度Hin和寬度Win無關(guān)。因此,當(dāng)輸出通道數(shù)為Cout時,卷積核的參數(shù)量為:
Cout×Cin×K1×K2
bias的參數(shù)為:Cout
因此,總的參數(shù)量為:
Cout×Cin×K1×K2+Cout
2.卷積層浮點數(shù)操作(FLOPS)計算量,卷積操作本質(zhì)上是個線性運算,通常可表示為:
y=Wx+b
這里面涉及到了乘法運算和加法運算,下面將進(jìn)行一一說明。
乘法運算:
為了得到輸出特征圖中的某一個像素,需要Cin×K1×K2次乘法運算,而特征圖總共有Cout×Hout×Wout個像素,則總計需要的乘法運算量為:
Cout×Hout×Wout×(Cin×K1×K2)
加法運算
當(dāng)前主流的浮點運算次數(shù)(floating point operations,FLOPs)的計算,一般只考慮加上bias的一次加法。
bias=True,則加法運算次數(shù)為Cout×Hout×Wout×1;
bias=False,則加法運算次數(shù)為0。
綜上,bias為True時,總的FLOPS為:
Cout×Hout×Wout×(Cin×K1×K2+1)
bias為False時,總的FLOPS為:
Cout×Hout×Wout×(Cin×K1×K2)
深度學(xué)習(xí) 神經(jīng)網(wǎng)絡(luò)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。