卷积层储存量和计算量

--- <储存量> ---
对某一层卷积层,卷积参数数量为:
		P = C(上一层卷积数量) * Kh(卷积核高) * Kw(卷积核宽) * N(卷积核数量)
分解后则是
		P = P1+P2 = C(上一层卷积数量) * Kh(卷积核高) * D(分解核数量) + D(分解核数量) * Kw(卷积核宽) * N(卷积核数量)
所以只有当
		P1 + P2 < P  
才有低秩分解能够优化储存性能的说法。
在上述例子中若希望分解conv1优化储存性能,
则有 D * ( 3 * 3 + 16 * 3) < 3 * 3 * 3 * 16
所以 D < 7.58  即分解层的卷积核不超过7个

--- <计算量> ---
对于某一卷积层,卷积计算量为:
     T = C(上一层卷积数量) * Kh(卷积核高) * Kw(卷积核宽) * N(卷积核数量) * Ho(输出特征图高度) * Wo(输出特征图宽度)
分解后则是
     T1 = C(上一层卷积数量) * Kh(卷积核高) * D(分解层卷积核数量) * Ho(输出特征图高度) * W(原特征图宽度)
     T2 = D(分解层卷积核数量) * Kw(卷积核宽) * N(原卷积核数量) * Ho(输出特征图高度) * Wo(输出特征图宽度)   
令    T1+T2 < T, 则计算量减少
设    r = T/(T1+T2), 得
   r = C * Kh * Kw * N * Wo / (C * Kh * D * W + D * Kw * N * Wo )
一般实际应用中常用  Kh=Kw=3, 配合padding=1的话 则得
   r = 3 * C * N / (C * D + D * N )
   假设上述例子中,希望分解conv1使得计算量减半,则r=2,应设置D为
   D = 3 * 3 *16 / (3 * 2 + 16 * 2) = 3.7 约等于 4 即设置分解层为4核卷积
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值