卷積中參數(shù)量和計算量

前言

本文旨在學(xué)習(xí)和記錄,如需轉(zhuǎn)載,請附出處http://www.itdecent.cn/p/c2a0ba5bb3d1

普通卷積

參數(shù)量

參數(shù)量是參與計算參數(shù)的個數(shù),占用內(nèi)存空間,假設(shè)輸入通道和輸出通道都是1,核大小為(K,K)&,輸入map大小為

(H_{in},W_{in}),輸出map大小為(H_{out},W_{out}),考慮偏置,不補(bǔ)0的卷積。

其參數(shù)量為:K*K+1

若考慮輸入通道C_{in}和輸出通道C_{out},則參數(shù)量為:(C_{in}*(K*K)+1)*C_{out}

計算量(乘加次數(shù))

MAC(Multiply Accumulate),需要考慮輸出map的大小,1個MAC算兩次操作

假設(shè)輸入通道和輸出通道都是1,核大小為K*K,輸入map大小為

(H_{in},W_{in}),輸出map大小為(H_{out},W_{out}),考慮偏置,不補(bǔ)0的卷積。

其計算量為:K*K*H_{out}*W_{out}

若考慮輸入通道C_{in}和輸出通道C_{out},則計算量為:C_{in}*K*K*H_{out}*W_{out}*C_{out}

FLOPs(floating point operations)

浮點運(yùn)算量,指計算量,跟乘加次數(shù)有點不一樣,若考慮偏置

則FLOPs =(C_{in}*2*K*K)*H_{out}*W_{out}*C_{out}

不考慮偏置的情況下

則FLOPs =(C_{in}*2*K*K-1)*H_{out}*W_{out}*C_{out}

注意:這里乘和加分開,加的操作因為n個數(shù)相加所以減1了,考慮偏置則補(bǔ)掉了加1

可分離卷積

可分離的卷積具體操作是先對輸入map每單個channel進(jìn)行卷積的操作,然后再進(jìn)行1維卷積實現(xiàn)輸出通道的改變。

假設(shè)輸入通道和輸出通道都是1,核大小為(K,K)&,輸入map大小為

(H_{in},W_{in}),輸出map大小為(H_{out},W_{out}),考慮偏置,不補(bǔ)0的可分離卷積。

考慮輸入通道C_{in}和輸出通道C_{out}

參數(shù)量:

C_{in}*K*K+C_{out}*(C_{in}*1*1+1), 后面加1是偏置

MAC計算量:

C_{in}*K*K*H_{out}*W_{out}+C_{in}*C_{out}*H_{out}*W_{out}

FLOPs計算量為:

(C_{in}*2*K*K-1)*H_{out}*W_{out}+(C_{in}*2*1*1)*H_{out}*W_{out}*C_{out}

參考:

https://www.zhihu.com/question/65305385/answer/451060549

說明

如有錯誤,歡迎指正!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容