onnx 部署时两组优化策略 | 有效推理加速

1.优化策略-激活函数替换

  • convolution+batchnormalization融合

现如今我们转换onnx格式时会发现 Conv + BN + Activation 的模型结构转换为onnx时会只剩下Conv + Activation的结构,发现BN层并未在onnx结构中显示出来,如下图所示。

究其原因是因为如下图,其中在装换得时候就根据已经训练完成得参数进行数学计算推导得出新得W,B,将其融合与卷积得参数中,就可减少Memory(内存访问)操作,从而提高效率。

但由于最近很多模型会有很多种类的激活函数,比如GELU、Swish、Mish等等,这些激活函数往往由于计算复杂很难被优化加速,经过笔者大量实验验证,替换为简单的RELU激活函数并不会在精度上造成太多的精度损失,反而由于该激活函数只是做一个截取>0的值、内部没有计算,从而会使得模型推理时速度更快。

2.优化策略-onnx-simplifier

过往我们在进行onnx导出操作时会发现一个onnx格式模型中的计算算子增多了,如在进行onnx导出中,torch.fla

  • 11
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值