神经网络参数量,计算量FLOPS,内存访问量MAC(Memory Access Cost)
对于卷积层而言:
1.神经网络参数量计算方式
卷积层:假设输入特征图大小为: Hin x Win x M,卷积核大小KxK,N个卷积核,输出特征图大小为Hout x Wout x N. 参数量:K x K x M x N+N(这里加N表示N个卷积核的偏置项) 一般写法:K x K x M x N(不加偏置项)
2.计算量
(1)一次卷积乘法次数:K x K x M; (2)一次卷积加法次数:K x K x M x 1; (3)共同进行了Hout x Wout x N 次卷积运算; (4)乘加运算总次数:(2 x K x K x M-1)x Hout x Wout x N (5)一般只考虑乘法: K x K x M x Hout x Wout x N
3.内存访问量
假设输入特征图大小:Hin x Win x M;输出特征图大小为:Hout x Wout x N 参数量(权重):K x K x M x N 内存访问量:Hin x Win x M+Hout x Wout x N+K x K x M x N
对于全连接层而言:
假设输入Cin个神经元,输出Cout个神经元;
1.参数量
Cin x Cout + Cout
2.计算量
一个输出神经元的乘法次数:Cin; 一个输出神经元的加法次数:Cin-1; 所有输出神经元的乘法和加法总的运算次数:(2 xCin-1) x Cout
3.内存访问量
总的访问量:Cin+Cout+Cin x Cout
BN层的参数量:
2 x Cin(γ和β)
关于深度可分离卷积参数量和计算量的计算方式: https://mydreamambitious.blog.csdn.net/article/details/124560414 关于标准卷积,分组卷积的参数量和计算量的计算方式: https://www.cnblogs.com/hejunlin1992/p/12978988.html
知识点来源:【【精读AI论文】谷歌轻量化网络MobileNet V1 https://b23.tv/36kBxVP
|