卷积神经网络模型参数量和运算量计算方法

 我来答
华源网络
2022-07-22 · TA获得超过5539个赞
知道小有建树答主
回答量:2486
采纳率:100%
帮助的人:141万
展开全部

本文是对卷积神经网络模型参数量和浮点运算量的计算推导公式和方法,使用API自动计算这些数据请移步另一篇博客: 自动计算模型参数量、FLOPs、乘加数以及所需内存等数据


其中 表示输出通道数, 表示输入通道数, 表示卷积核宽, 表示卷积核高。
括号内的 表示一个卷积核的权重数量,+1表示bias,括号表示一个卷积核的参数量, 表示该层有 个卷积核。
若卷积核是方形的,即 ,则上式变为:

需要注意的是,使用Batch Normalization时不需要bias,此时计算式中的+1项去除。


FLOPs是英文floating point operations的缩写,表示 浮点运算量 ,中括号内的值表示卷积操作计算出feature map中一个点所需要的运算量(乘法和加法), 表示一次卷积操作中的乘法运算量, 表示一次卷积操作中的加法运算量,+ 1 表示bias,W和H分别表示feature map的长和宽, 表示feature map的所有元素数。
若是方形卷积核,即 ,则有:

上面是乘运算和加运算的总和,将一次乘运算或加运算都视作一次浮点运算。
在计算机视觉论文中,常常将一个‘乘-加’组合视为一次浮点运算,英文表述为'Multi-Add',运算量正好是上面的算法减半,此时的运算量为:


值得注意的是,最初由feature map flatten而来的向量视为第一层全连接层,即此处的 。
可以这样理解上式:每一个输出神经元连接着所有输入神经元,所以有 个权重,每个输出神经元还要加一个bias。
也可以这样理解:每一层神经元(O这一层)的权重数为 ,bias数量为O。


其中
中括号的值表示计算出一个神经元所需的运算量,第一个 表示乘法运算量, 表示加法运算量,+1表示bias, 表示计算O个神经元的值。

分组卷积和深度分离卷积的情况待更……

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
北京新国信
2023-07-11 广告
性能测试和功能测试是软件测试的两个重要方面。1. 功能测试:主要是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。也可以称为黑盒测试,只需要考虑测试各个功能是否实现,例如游戏的功能测试,首先测试游戏的各个... 点击进入详情页
本回答由北京新国信提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式