開發人員通過使用OpenVINO工具包開發多平臺計算機視覺解決方案,可以在雲中構建和訓練AI模型 - 在TensorFlow,MXNet和Caffe等流行框架上 - 並將它們部署到廣泛的產品中。該工具包基於卷積神經網絡(CNN),包括一個函數庫和預優化內核,可在邊緣實現基於CNN的深度學習推理,並優化對OpenCV和OpenVX的調用。它還支持跨計算機視覺加速器(CPU,GPU,Intel Movidius Neural Compute Stick和FPGA)的異構執行 - 使用通用API來完成。
1.什麼是OpenVINO工具包
OpenVINO™工具包可快速部署模擬人類視覺的應用程序和解決方案。該工具包基於卷積神經網絡(CNN),可擴展英特爾®硬件的計算機視覺(CV)工作負載,從而最大限度地提高性能。OpenVINO™工具包包括深度學習部署工具包(DLDT)。
OpenVINO工具包:
- 在邊緣啓用基於CNN的深度學習推理
- 支持跨英特爾®CPU,英特爾®集成顯卡,英特爾®FPGA,英特爾®Movidius™神經計算棒,英特爾®神經計算棒2和採用英特爾®Movidius™VPU的英特爾®視覺加速器設計的異構執行
- 通過易於使用的計算機視覺功能庫和預優化的內核,加快產品上市速度
- 包括針對計算機視覺標準的優化調用,包括OpenCV *,OpenCL™和OpenVX *
2.OpenVINO包括組件:
- 深度學習部署工具包(DLDT)
- 深度學習模型優化器 - 一種跨平臺的命令行工具,用於導入模型並使用推理引擎爲最佳執行做好準備。模型優化器導入,轉換和優化模型,這些模型在流行的框架中訓練,例如Caffe *,TensorFlow *,MXNet *,Kaldi *和ONNX *。
- 深度學習推理引擎 - 一種統一的API,允許對許多硬件類型進行高性能推斷,包括英特爾®CPU,英特爾®集成顯卡,英特爾®Movidius™神經計算棒,英特爾®神經計算棒2和採用英特爾®的英特爾®視覺加速器設計Movidius™VPU
- 演示和示例 - 一組簡單的控制檯應用程序,演示如何在應用程序中使用推理引擎
- 工具 - 一組簡單的控制檯工具,用於校準和測量模型的精度
- 預先訓練的模型 - 一套用於學習和演示目的的預訓練模型或開發深度學習軟件
- OpenCV - 爲英特爾®硬件編譯的OpenCV *社區版本包括用於計算機視覺的PVL庫。
- OpenCL™2.1版的驅動程序和運行時
- Intel®MediaSDK
- OpenVX * - 英特爾針對在英特爾®硬件(CPU,GPU,IPU)上運行而優化的OpenVX *實施。
3.支持平臺與硬件:
不同的系統與硬件要求如下:
windows
|
macOS * 10.14
|
linux(Ubuntu 16.04.x長期支持(LTS),64位:支持的最低內核爲4.14;CentOS 7.6,64位; Yocto Project Poky Jethro v2.0.3,64位(僅限目標並需要修改)
|
4、安裝openvino
這裏根據自己適配的系統,結合官網的教程進行配置。以自己在Windows10 64位下的安裝步驟爲例,進行如下的闡述,
(1)安裝vs
這裏版本隨你選,可以是15,17,19的,根據需求選擇(社區版或專業版都可以),安裝位置可以選擇默認C盤,也可以放在其他盤。下載鏈接:https://docs.microsoft.com/zh-cn/visualstudio/releasenotes/vs2019-relnotes.需要注意的是安裝需要帶上MSbuild包,這個後面有很大用。。。
(2)安裝cmake
安裝cmake,主要是爲了編譯源碼文件,這裏安裝的版本需要在3.4以上,若vs選擇是19那麼cmake最好爲3.14版本,下載鏈接https://cmake.org/download/,,下載後可以將其加入到環境變量中,
然後在命令行下輸入cmake --version,輸出對應版本即表示安裝成功。
(3)安裝python
想要用cpu來對深度學習模型進行加速的,大家python環境肯定都已經弄好了,這裏不再贅述,如果第一次安裝的話,可以試試anaconda,一步步來就能幫你配置好python環境了。
(4)安裝openvino
按照官網的說法推薦安裝最新版的,點擊下載,簡單註冊一下就可以免費下載了。這裏我下載的是20.1版,下載完成是一個exe文件,然後點擊運行,這裏選擇默認的安裝位置,然後出現如下界面
接着next一步步進行,最後如果出現下面界面,表示前面的依賴項沒有安裝成功,自己可以回退去檢查下環境變量等。
當一切都安裝好後,你會在c盤路徑發現
這樣安裝就告一段落了。
5、測試示例
當前面安裝步驟都完成後,如何來測試下openvino呢?官網文檔提供了測試demo,可以按以下步驟來進行實驗
(1)設置環境變量
運行openvino之前,需要對環境進行提前配置,win+r進入dos下,然後運行下面指令
cd C:\Program Files (x86)\IntelSWTools\openvino\bin\ ##若不是默認安裝路徑,酌情修改
setupvars.bat
顯示success即表示設置成功。
(2)安裝目標網絡框架需要的包
openvino提供了Caffe*, TensorFlow*, MXNet*, and ONNX*等幾種形式的接口(torch需要先轉化爲onnx格式),可以根據自己的需求進行安裝,在下面路徑下可以看到不同框架需求安裝包的批處理文件,
C:\Program Files (x86)\IntelSWTools\openvino_2020.1.033\deployment_tools\model_optimizer\install_prerequisites
這裏以安裝所有框架的install_prerequisites.bat爲例,在dos下進行該路徑,然後輸入install_prerequisites.bat即可,這裏需要注意的是由於下載源在國外,這樣下載速度太慢了,我們可以通過手動添加下載源鏡像來加速安裝,如
pip install tensorflow==1.14.0 -i https://pypi.douban.com/simple
具體詳情可參考https://blog.csdn.net/xiaomu_347/article/details/85067874。
(3)運行實例
openvino實現對神經網絡的加速一般通過xml文件和bin文件來實現,前者主要描述網絡構架,後者是其訓練好的權重。
官方給了幾個示例可以用來檢驗一下,以汽車檢測爲例,dos下運行一下指令
cd C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\demo\ ##根據自己的路徑切換
demo_security_barrier_camera.bat
等一段漫長的加載與下載庫的過程,如果出現了以下界面即表示成功。
補:運行demo過程中出現的問題
這個問題當初自己也困惑了好久,後來明白就是msbuild出的問題,只要在demo_security_barrier_camera.bat文件中加入以下指令保存即可(這裏根據自己安裝vs版本進行msbuild_version指定),然後在運行就可以了。
在linux和win7上也嘗試過,按照步驟一步步來即可安裝成功,對於openvino,我的理解就是在模型在推理時能夠合併掉一些不必要的層,利用inter內部構造的一些並行運算等加速模型運行,和tensorrt的功能類似,當然網絡中間如果出現了一些openvino不支持的操作,只能通過間接實現或者放棄了。接下來就好好享受openvino帶來的飛速體驗吧!(但是可能有時候效果並沒你想的那麼好)。詳情可關注我的公衆號,大家一起學習
參考鏈接:
https://blog.csdn.net/kan2016/article/details/89323372(OpenVINO基本介紹)