logo
Loading...

OpenVINO 雲端也能 GO!四個步驟輕鬆在 DevCloud 實作 AI 推論 - 【教材專區】初探OpenVINO並建構第一個深度學習應用程式 - Cupoy

簡介 Intel DevCloud 開發者工具是一個免費的雲端的開發平台,它已預裝了 OpenVINO™ Toolkit (Open Visual Inference and Neural netwo...

簡介 Intel DevCloud 開發者工具是一個免費的雲端的開發平台,它已預裝了 OpenVINO™ Toolkit (Open Visual Inference and Neural network Optimization) 方便開發 AI 應用程式。它是一個雲端的 JupyterLab 服務,旗下三個產品 DevCloud for the Edge、DevCloud for oneAPI、DevCloud for FPGA,分別著重讓開發者可以在雲端的虛擬機上評估模型推論、神經網路訓練研究以及客製化 FPGA 加速晶片應用。 特別值得一提的是,這些服務目前完全不需要花費任何一毛錢,即可盡情享用到高效能的運算能力。開發者們大可好好運用這些資源來學習並應用 AI,本篇文章將使用 DevCloud for the Edge,在簡單的四個步驟之中,完成一個 Object Detection 物件偵測的 DEMO 操作。 一、準備動作 Tutorials 與 Sample Applications 非常推薦入門者學習(圖片來源:Intel) 在註冊完成登入 DevCloud for the Edge 之後,選擇 Get Started 進入,即可看到五個頁籤,分別為 Home、Learn、Build、Optimize 以及 Launch,分別在 AI 應用的四個階段:學習、建立模型、最佳化模型以應用上,提供相當實用的文件與素材,入門者建議可以試著運行 Learn 頁籤裡面的  Tutorials 與 Sample Applications,裡面有三十餘的非常豐富的教學內容。 我們這次的主要目的則是在 DevCloud 上運行 open model zoo 的範例,首先我們要點選 build 頁籤當中的 Connect and Create 來啟動伺服器,等待約三十秒的時間之後即會轉跳到 DevCloud 的後台介面。 DevCloud 的後台介面,點選右上方 New 來新增檔案或開啟終端機(圖片來源:Intel DevCloud for the Edge 平台) 進入到 DevCloud 後台介面可以看到目前顯示在 files 頁籤,是類似檔案管理員以階層的方式看到自己在伺服器上的所有檔案,預設伺服器在建立之後即會產生一個 Reference-samples 的資料夾,裡面存放許多上面所提到的 Sample Applications 等專案檔案。 DevCloud 提供每個帳戶 50GB 的儲存空間,可以自由運用儲存程式與模型資料等。接著點選右上方 New 按鈕,並從下拉式選單中點選 Terminal 開啟終端機。在黑色的終端機背景中輸入以下指令來取得我們要使用的 ipython notebooks 檔案,同時這個檔案也存放在 github 上供有需要的開發者自行取用參考。 wget https://github.com/FelixLinSY/DevCloud_Hands_On/raw/main/DevCloud_HandsOn.ipyn 二、四步驟完成預訓練模型範例 執行完成回到檔案管理介面,就會看到多出一個剛下載的 DevCloud_HandsOn.ipynb 檔案,點選該檔案來啟動 ipython notebook。 運行於 DevCloud 的教學指引:DevCloud_HandsOn.ipynb 開啟 DevCloud_HandsOn.ipynb 之後可以看到左側是目錄概要,可以看到列出了四個步驟即可完成 open model zoo 上的範例: STEP1:下載 open model zoo 程式碼 STEP2:下載與轉換模型 STEP3:進行物件偵測推論 STEP4:在各種邊緣裝置進行推論 本教學文的目錄概要 右側比較大的欄位則是程式碼編輯區,這部分是由程式碼與註解文字兩種 Cell 組合而成的區域,能以 Cell 為單位自由編輯並且執行。筆者已經預先在這個 ipython notebook 中加入註解說明文字,希望能幫助到初學者理解各個步驟與指令的用意所在。 STEP 1:下載 open model zoo 程式碼 STEP1 僅有三行指令,依序執行即可建立工作目錄並且從 github 下載 open model zoo 的程式碼。 STEP 2:下載與轉換模型 STEP2 則接續要下載預訓練的物件偵測模型,這邊有兩個做法: 2.1 是一次下載所有支援的物件偵測模型; 2.2 則是僅下載指定模型。 由於物件偵測支援的預訓練模型實在是非常多,一次下載將花費非常多的時間,強烈建議先跳過 2.1 執行 2.2 下載特定模型即可,待日後想要嘗試置換其他模型時,再下載全部模型較為妥適。 取得要使用的模型檔之後就是要進行模型轉換(converter)來取得推論引擎(Inference Engine),載入時需要使用的 IR(Intermediate Representation)檔,以利後續使用 CPU、GPU、VPU 等各種硬體進行推論。由於模型轉換需要花費一些時間,如果你是一次下載所有模型並且進行轉換的話(前述 2.1 的部分)這邊也會花上好一段時間。 使用 ssd_mobilenet_v2_coco 進行圖片推論的結果 STEP 3:進行物件偵測推論 STEP3 就是進行推論的重頭戲了,這邊會使用 open model zoo 中的 object_detection_demo.py 範例程式分別執行單張圖片的推論以及影片的推論兩種。為求方便起見圖片與影片筆者分別從 pixabay 與 Pexels 合法取得照片與影片來進行推論使用,各位也可以將自己的照片或影片手動上傳到 DevCloud 上作為推論資料使用。 在執行範例程式需要代入相應的參數包含 IR 檔路徑、輸入資料、輸出資料、模型架構與標籤檔等等,若參數錯誤可能會造成辨識不準確甚至會無法執行,請務必稍加留意。若需要更換模型檔除了 IR 路徑修改外,模型架構與標籤檔也可能需要更換,詳細請參考預訓練模型文件的說明。 此外在執行影片推論前,筆者有使用 sed 指令去修改範例程式中輸出影像的格式,為的是能夠輸出成正確的影像檔案並且在 DevCloud 上播放。其餘的部分則和圖片推論是大同小異。在推論結果的部分,不管是圖片或是影片的物件偵測,可以觀察到輸出結果相當不錯,即使是小物件偵測的正確率還不差。 在 Intel DevCloud for the Edge 執行的影片推論結果 STEP 4:硬體測試模擬 最後的第四步驟,我們要使用 DevCloud 最為強大的功能之一,將這個 AI 模型放到不同的邊緣運算裝置進行推論。於此之前先建立工作腳本檔(4.1),基本上跟我們前面第三步驟的內容差不多,只不過把一些我們想要動態改變的參數改為從外部引入。 接著使用 qsub 指令派送工作到指定的邊緣裝置(4.2),所有支援的邊緣裝置可以參考 Intel DevCloud for the Edge 裝置列表。由於工作會以方同步的方式在不同裝置上運作,我們可以透過 liveQstate() 指令來檢視任務的執行狀態,這邊務必要留意一下如果任務尚未完成而直接執行後續的 cell 程式段,將可能會造成錯誤或是資料讀取不正確。 當所有任務都完成後,同樣地開啟輸出影片來觀察 Intel Core Gen 11th 使用 CPU 與 GPU 之間的推論差異。(讀者也可以參考 Jack 大的教學文) 你可在 Intel DevCloud for the Edge 裝置列表中進行選擇,模擬體驗一下所選模型在實際運作時的效益如何 三、快速延伸你的創意 本篇文章帶各位輕鬆快速得完成一個 open model zoo 上的 AI 推論範例,各位是否覺得意猶未盡呢?在 open model zoo 與 DevCloud 上還有許多寶庫值得去探究以及發掘,建議各位後續可以從  open model zoo 內各種有趣的範例和預訓練的模型當中做探索,或是執行 DevCloud 上不同應用展示,都是不錯的學習路徑喔!每個範例也可以彈性去套用不同的模型進行演算,對於 AI 模型能夠發展的應用,可以提供更多想像空間喔! 人工智慧的技術在未來幾年間將持續蓬勃發展,而配套的軟體工具也將會越來越廣泛且容易上手,有幸身處在這個 AI 應用即將爆發的時代,勢必也要跟風參與一下這波撼動世界的技術浪潮,各位說是吧! 詳細內容 OpenVINO雲端也能GO!四個步驟輕鬆在DevCloud實作AI推論 - 引領創新的科技實作社群媒體Intel DevCloud是一個免費的AI雲端開發平台,開發者們可運用這些資源來學習並應用AI,本篇文章將使...makerpro.cc