计算卷积神经网络中 MAC 数量的公式?

Onw*_*ard 7 neural-network conv-neural-network

我找不到正确的公式来计算 CNN 中一个卷积层中的 MAC 数量。\n我尝试了 Quora 中的这个公式

\n\n
[((H-K+S) /S) *((W-L+S)/S)) *C*M*N] \n
Run Code Online (Sandbox Code Playgroud)\n\n

其中:\nH W 输入特征图大小;\nK L 滤波器大小\nS 步幅\nC 输入通道 \nM 输出特征图\nN 输入特征图数量

\n\n

我举了一个例子:\n1输入图像5x5x1\n1过滤器3x3x1\n然后我做了na\xc3\xafve计算,我得到了81个MAC。\n但是当我使用上述公式时,ai 得到了 9。

\n\n

我觉得有些事情我不明白。

\n\n

提前致谢

\n

The*_*eer 13

假设您有以下参数:
K 是内核宽度和高度
C_in 是输入通道数
C_out 是输出通道数
H_out 和 W_out 分别是输出矩阵的高度和宽度

然后,您需要(K^2) * C_inMAC 操作来计算每个输出特征图,并且您将获得H_out * W_out * C_out这些输出特征图。那么总 MAC 将为:

(K^2) * C_in * H_out * W_out * C_out
Run Code Online (Sandbox Code Playgroud)