卷積層計算 feature maps 和中間結果內存訪問次數, mac(memory access cost-內存使用量)計算方法


卷積相關計算

卷積層計算 feature maps 和中間結果內存訪問次數

卷積層的輸入是 224x224x3 ,把所有這些值讀出來需要訪問 150,528 次內存。

如果卷積核是 KxKxCout ,還要乘上這個系數(因為每次卷積都要訪問一遍)。

以 stride=2, 卷積核個數為32為例,輸出的 feature map 尺寸為 112x112x32,共計 401,408 次內存訪問。

所以,每層的內存訪問總數如下:

簡單理解為卷積的總計算量需要訪問內存,輸出的結果需要存儲,權重需要存儲。

input = Hin x Win x Cin x K x K x Cout

output = Hout x Wout x Cout

weights = K x K x Cin x Cout + Cout ,

例:

input = 224 x 224 x 3 x 3 x 3 x 32 = 43,352,064
output = 112 x 112 x 32 = 401,408 weights = 3 x 3 x 3 x 32 + 32 = 896 total = 43,754,368

 

 mac(memory access cost-內存使用量)

輸入特征圖寬*高*維度 + 輸出特征圖寬*高**維度 + 權重

input = Hin x Win x Cin

output = Hout x Wout x Cout

weights = K x K x Cin x Cout + Cout 

 例:shufflenet v2里的1*1mac計算:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM