早餐|第十七期 · 模型優化器對模型做了哪些優化

OpenVINO 中文社群發表於2020-09-27

早餐|第十七期 · 模型優化器對模型做了哪些優化

愛學習的 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.

相關文章