一文带你了解轻量化的通用技巧

什么是轻量化?

  • 减少模型中的计算次数

    CNN中主要包含卷积层,激活层,池化层等操作,其中卷积层的计算量远远大于其他层

    可能实现的方法:

    1.减少卷积层的数量(网络深度)
    2.减少卷积层的输出通道数(网络宽度)
    3.减少某个卷积层中的feature map的尺寸(减小图片分辨率)
    4.减小卷积核的尺寸

  • 降低计算的位宽(神经网络的量化)

    在CNN计算时,使用更低的位宽.(训练用32bit)
    比如16bit(推理上),8bit(工程上),4bit,2bit,甚至是1bit.

为什么要轻量化?

  • 模型中的计算次数越少,单位时间内(1秒内)能够完成更多次模型前向计算,能够提高FPS(单位时间内能够推理的图片数量).

  • 模型中的位宽越低,硬件处理单元能够同时进行更多次的运算,从而减少推理时间,提高FPS.

    本质上,是为了在成本固定时(平台计算能力固定)在兼顾网络性能的前提下,进一步减少网络推理所需的硬件资源,达到最高的收益(FPS).

如何衡量网络的计算量?

  • FLOPS:浮点运算次数,1个乘法=1FLOPS,1个加法=1FLOPS
  • MACs:乘加次数,1个乘法和1个加法=1MACs
1GFLOPs=1000MFLOPs=10^9FLOPs
1TFLOPs=1000GFLOPs
计算关系同样适用于MACs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值