卷积神经网络参数量和计算量内存计算

卷积神经网络参数量和计算量内存计算

参数量

每一次卷积的参数量和特征图的大小无关,仅和卷积核的大小,偏置及BN有关。

1.每个卷积层的参数量,+1表示偏置:
Co x (Kw x Kh x Cin + 1)

2.全连接层的参数量
(D1 + 1) x D2

3.BN层的参数量
因为BN层需要学习两个参数 γ \gamma γ β \beta β,所以参数量是2xCo

计算量

1.一次卷积的计算量(kxk次乘法+kxk-1次加法)
(Kw x Kh) + (Kw x Kh - 1)

2.一个特征图上的卷积次数,即输出特征图的大小
( H − K h + 2 ∗ p a d d i n g S + 1 ) ∗ ( W − K w + 2 ∗ p a d d i n g S + 1 ) ({\frac{H-Kh+2*padding}{S}+1}) * ({\frac{W-Kw+2*padding}{S}+1}) (SHKh+2padding+1)(SWKw+2padding+1)

3.全连接层的计算量(乘法+加法)
(D1 + (D1 - 1) + 1) x D2

内存

1.参数量所占内存
(32位的float需要占用4个字节)
Memory(MB) = params x 4 /1024 /1024
比如:VGG参数量约为138million,则内存大小为138*3.8 = 524MB

2.每张图所占内存
计算一整张图的过程中的所有特征图层所占内存为Fw x Fh x C的加和,乘以4byte,再/1024/1024。

3.训练所占显存
比如:
参数量为500w,则内存为19MB;
一张图内存为100w,则内存为4MB;
Batchsize = 128;

则:
模型所占显存:19x2 = 38MB(1为params,1为Adam)
输出所占显存:128x4x2 = 1024MB(2为forward和backward)
总共需要显存:38+1024 > 1G

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值