上一次(ROS系統YOLOv3效能初體驗)我們談到在Intel OpenVINO架構下,當需要進行AI運算時利用Intel GPU加速一樣可獲得不錯的效能,並且使用YOLO v3進行測試。
這次我們將會自製一個CNN分類器,並透過OpenVINO的模型轉換程式轉換成IR模型,並進行模型效能與正確率分析。依據Intel官方網站的說明,OpenVINO可以針對不同模型進行最佳化,目前支援包括Tensorflow、Keras、Caffe、ONNX、PyTorch、mxnet等多種模型。
也就是說,當使用者透過其他框架訓練完成的模型檔,例如Keras的model.h5檔,或者TensorFlow的model.pb檔,只要經過轉換就可以在OpenVINO中以最高效能來執行。
(圖片來源: Intel OpenVINO官方網站)
不過讀者可能會比較在意的就是透過OpenVINO加速後,效能是能提昇多少、正確率會不會發生變化?還有就是若我已經有一個訓練好的Model,我要如何轉換為OpenVINO可以讀取的模型呢?
本文將分為兩個部份來說明,第一個部份就是如何進行模型轉換,第二部份則來評測轉換前後的執行效能差異,除了模型比較之外,讀者一定會想了解Intel OpenVINO GPU與NVIDIA CUDA的差異,這部份也在本文中進行比較,我相信會讓讀者大開眼界。
OpenVINO模型轉換
以目前官方文件所述,OpenVINO架構執行效能最佳的為IR(Intermediate Representations) 格式模型,所謂的IR模型是「中間表達層」,IR模型包含一個bin及xml,bin包含實際權重的網路權重weight及誤差bais資料,而xml則是記載網路結構。
後續當OpenVINO要載入模型時,只要讀取這兩個檔案即可,雖然這樣轉換須多經過一道手續,但是卻可大幅提高執行效能,在此我們介紹如何轉換模型。
只需不到短短一分鐘...
輸入您的信箱與ID註冊即可享有一切福利!
會員福利
免費電子報
會員搶先看
主題訂閱
好文收藏