OpenVINO Notebooks是什麼? #
OpenVINO Notebooks專案在2021年發起,全球各地的開發者網羅了許多可以立即使用的範例程式,並以互動式的Jupyter Notebooks格式記錄程式碼與說明文字,以便於學習OpenVINO。其依照數字編排的Notebooks專案程式碼,內容涵蓋了四大項目:
- 0系列 — 起步入門,藉由幾個簡單的指令就可以操作OpenVINO。
- 1系列 — 模型轉換和最佳化,提供了不同的教學範例,將TensorFlow、PyTorch、PaddlePaddle、ONNX等的格式模型檔轉換到到OpenVINO的IR模型格式,並且量化不同的權重進行最佳化。
- 2系列 — 模型展示,涵蓋了Open Model Zoo的各種訓練模型及paddlepaddle的GAN等模型的使用操作範例
- 3系列 — 模型訓練,在TensorFlow或PyTroch框架中訓練好模型,並使用OpenVINO Toolkit的POT(Post-training Optimization Tool)與NNCF(Neural Network Compression Framework)等實作模型最佳化。
- 4系列 — Live展示,從Webcam抓取影像資料做即時的推論預覽。
OpenVINO Notebooks該如何安裝? #
OpenVINO Notebooks提供了各式作業系統的安裝方式,如Windows, Ubuntu, macOS, CentOS等等皆有。如果擔心套件與電腦中的Python模組產生衝突的話,也可以使用Docker容器的方式進行安裝,同時,部分的範例也整合了Binder(類似於Colab的線上Notebooks軟體),可直接於線上操作。
AI模型轉化與最佳化操作的效果如何? #
OpenVINO Toolkit的看家本領就是模型的轉換與最佳化,在不降低模型本身推論的精度為基準,進行推論效果的提升。
實際用Notebooks中102-pytorch-onnx-to-openvino範例來試試看,在這個範例中,使用了PyTorch的圖像分割預訓練模型FastSeg,分別轉換為ONNX格式、IR格式以及原始PyTorch模型格式來進行推論。
可以看出,不管是用何種模型進行的推論,其影像分割結果幾乎都是一致的情況,並沒有明顯的優劣之分。但在最終效能比較的段落,可以明顯看出當中效能最好的4.07FPS(IR format + iGPU)與最差0.70FPS(PyTorch format),差距相當有六倍之多!
若是再搭配量化權重或POT(Post-Training Optimization Tool)等工具,還能再進一步的提升效能。其實際影響的層面就是在終端執行AI應用時,有希望將邊緣裝置的規格往下調整,以節省成本。
從上述的實際操作中就可以看出透過OpenVINO Notebooks進行系統化的學習,確實可以降低學習門檻,成為學習Edge AI的最佳路徑。