早餐|第十八期 · 開始使用模型優化器
早餐|第十八期 · 開始使用模型優化器
愛學習的 OpenVINO 中文社群
內容來源| 曹慧燕
內容排版| 李擎
大家好,
這裡是OpenVINO早餐
在上一期的節目中,
我帶大家一起看了模型優化器
到底對模型做了哪些優化
從這一期開始,
我們就來看看如何
使用模型優化器對模型進行轉換。
作者介紹
○ 曹慧燕
英特爾
IOTG Edge
AI 工程師
正餐部分
視訊放映
【持續更新】吃 OpenVINO 早餐,玩轉深度學習部署
文稿閱讀
開官方開發文件:https://docs.openvinotoolkit.org/,” Go to Guides >”,找到 Model Optimizer Developer Guide。
模型優化器的工作原理
- 模型優化器並不用來做模型推理
- 作用是把支援的模型框架訓練出來的模型轉成IR檔案
- 在轉換過程中,除了在上一期中介紹的特定的模型優化技術以外,還有一些通用的優化。比如:移除推理階段不需要的層,如:Dropout;使用一個操作運算元替代一組操作節點,從而減少節點數,降低推理時間。
瞭解模型優化器是否支援你的模型
可以在Supported Framework Layers中查詢模型優化器支援的層,如果你的模型中有不支援的層,或者有你自己定義的演算法,需要參考Custom Layers in the Model Optimizer 去自定義這些演算法。
原始碼目錄結構
-
在使用模型優化器的時候,我們呼叫 mo.py 或者帶 Framework 的 py 即可,他們都是呼叫 mo目錄下的 main 函式。
-
mo 目錄中,有 front, middle, back, ops 這樣的目錄:
front:前端的校驗,包括:引數的校驗,對原始模型的分析,檢查模型優化器是否支援等。
middle:對模型進行優化
back:生成IR
ops:定義了一些通用的操作
extensions 目錄中定義了對支援的 Framework 中的模型的操作。通常,你自定義的演算法需要放在這個目錄中。
配置模型優化器
因為模型優化器是將OpenVINO支援的模型轉成IR,因此,在對原始模型進行解析時,必須需要安裝對應的框架以及相關的依賴庫。
執行<INSTALL_DIR>/deployment_tools/model_optimizer/install_prerequisites目錄下的install_prerequisites.sh或install_prerequisites.bat即可。
通常這一步在安裝 OpenVINO 工具包的時候會建議大家配置好,如果大家在安裝的時候沒有配置,那在使用模型優化器之前必須配置好。
因為這些都是 python 庫,對 python 熟悉的小夥伴可以建立虛擬環境並在虛擬環境中安裝及使用模型優化器
該指令碼會安裝模型優化器支援的所有框架,也可以只安裝特定的框架:
配置好環境以後,就可以開始使用模型優化器了。
使用模型優化器這一部分內容我會在下一期給大家介紹。
今天的分享就到這裡,我們下期節目見!
原文釋出於2020-09-17:早餐|第十八期 · 開始使用模型優化器
關注我們,讓開發變得更有趣?
微訊號:openvinodev
B站:OpenVINO 中文社群
*OpenVINO and the OpenVINO logo are trademarks of Intel Corporation or its subsidiaries.
相關文章
- 早餐|第十七期 · 模型優化器對模型做了哪些優化模型優化
- 前端週刊第十八期前端
- 早餐|第十六期 · 2020.4 Release Notes 解讀
- 使用Python開始機器學習Python機器學習
- TensorFlow筆記(5)——優化手寫數字識別模型之優化器筆記優化模型
- Facebook投放優化模型優化模型
- 從零開始,使用Dapr簡化微服務微服務
- 程式碼安全測試第十八期:呼叫System.exit()存在安全漏洞
- 數字化轉型:從小專案開始更有優勢
- MySQL優化從執行計劃開始(explain超詳細)MySql優化AI
- TVM 加速模型,優化推斷模型優化
- 開始例項化
- 開始使用開源待辦事項清單管理器
- Deep Learning模型中常見的optimizer優化器演算法總結模型優化演算法
- NestJS WebSocket 開始使用JSWeb
- 跟控制器說再見吧,從今天開始使用請求處理器(Request Handlers) 正規化
- 使用資源管理器優化Oracle效能AQ優化Oracle
- 白領早餐報告:僅5成白領每天吃早餐
- ImageJ使用教程(一):開始使用
- Oracle優化案例-使用with as優化Subquery Unnesting(七)Oracle優化
- SQL優化案例-使用with as優化Subquery Unnesting(七)SQL優化
- 構建和優化深度學習模型(神經網路機器識圖)優化深度學習模型神經網路
- 從零開始學機器學習——聚類視覺化機器學習聚類視覺化
- 優雅的使用路由模型繫結路由模型
- mysql調優從書寫sql開始MySql
- [譯]UISearchController 教程:開始使用UIController
- 開始使用 CryptPad 吧,一個開源的協作文件編輯器
- 企業資訊化轉型,從使用點晴OA開始
- # Kotlin使用優化(四)Kotlin優化
- EntityFramework使用及優化Framework優化
- 機器學習實戰 | 性別預測模型的構建與優化機器學習模型優化
- 從零開始實踐大模型 - 配置環境大模型
- 運籌優化(九)--整數規劃模型優化模型
- 從零開始手寫 redis(八)樸素 LRU 淘汰演算法效能優化Redis演算法優化
- 使用Spring Boot DevTools優化你的開發體驗Spring Bootdev優化
- 優化使用kotlin開發Android app的編譯速度優化KotlinAndroidAPP編譯
- [原始碼解析] PyTorch分散式優化器(2)----資料並行優化器原始碼PyTorch分散式優化並行
- 前端效能優化 —— 移動端瀏覽器優化策略前端優化瀏覽器