早餐|第十七期 · 模型优化器对模型做了哪些优化
早餐|第十七期 · 模型优化器对模型做了哪些优化
爱学习的 OpenVINO 中文社区
内 容 来 源 | 曹 慧 燕
排 版 | 卢 书 晴
视 频 BGM | *music by audionautix.com
各位下伙伴们,早上好呀~
这里是 OpenVINO 早餐。
我们说在使用 OpenVINO 之前,
需要先使用模型优化器对模型进行优化。
很多小伙伴有疑问,
模型优化器对模型到底做了哪些优化?
其实这个问题的答案在开发文档中就可以找到。
今天曹老师就带大家一起来解开这个迷惑。
作者介绍
○ 曹慧燕
英特尔
IOTG Edge
AI 工程师
正餐部分
视频放映
【持续更新】吃 OpenVINO 早餐,玩转深度学习部署
文稿阅读
打开 OpenVINO 开发文档主页: https://docs.openvinotoolkit.org/,点击 Go to Guides,在 Model Optimizer Developer Guide 中找到 Model Optimization Techniques ,这里介绍了模型优化器使用的一些优化技术。
线性操作融合
将 BatchNormalization 和 ScaleShift 分解成Mul → Add 序列,融合到邻近的 Convolution 或 FullyConnected 层中,以避免不必要的内存拷贝,从而加快推理速度。
ResNet 优化( stride 优化)
针对 ResNet ,将大于1的 stride 从 kernel size = 1 的卷积层移动到上卷积层,从而减少中间层的运算量。
Grouped Convolution 融合
通过 Concat 操作将 Split 的结果按原先的顺序拼接。
以上这些优化在模型优化器中默认使用,可以通过 --disable_fusing 和-- disable_resnet_optimization 禁用。
另外,还可以通过 --finegrain_fusing 参数。指定对某些节点不进行融合操作。
今天的解密就到这里,我们下期早餐再见!
END
今天的早餐就分享到这里,希望今天的内容对大家有帮助,用餐愉快哟。如果有想法的你希望能够交流心得体会,都欢迎在留言区告诉我们。感兴趣的小伙伴赶快加入我们的节目吧! 在这里,你可以分享任何你对 OpenVINO 的想法,使用体验,或者你使用 OpenVINO 做过的项目等等。
最后谢谢大家收看,我们下期早餐再见!
原文发布2020-09-03:早餐|第十七期 · 模型优化器对模型做了哪些优化
关注我们,让开发变得更有趣????
微信号:openvinodev
B站:OpenVINO 中文社区
*OpenVINO and the OpenVINO logo are trademarks of Intel Corporation or its subsidiaries.