Intel OpenVINO™ Toolkit 安裝教學|IEI Mustang-F100-A10(CC字幕)

IEI PM Malcolm 今天很高興在這裡為各位介紹 IEI FPGA 加速卡 hands on Mustang-F100-A10的F100 裡面的F代表FPGA A10代表FPGA的型號Arria 10 這張卡搭配Intel 推出的OpenVINO toolkit 就可以進行深度學習推論的加速 OpenVINO toolkit是Open Visual Inference and Neural Network Optimization的縮寫 是Intel 提供的開源SDK 將知名的Frameworks訓練好的模型 優化成Intel平台上可以執行的推論格式 它的異構特性可讓它在Intel不同平台之下 進行深度學習的推論加速 比如 Intel CPU、Intel Integrated GPU 還有FPGA及VPU OpenVINO toolkit包含了 Model optimizer 轉換用不同Framework去訓練的Model 可以讓它變成Intel加速硬體使用優化的格式 Inference Engine 是一個 C++的API 可以進行深度學習推論程式的呼叫 另外還有優化的OpenCV 以及 Intel Media SDK去做一些解壓的工作 下圖是Intel OpenVINO toolkit的工作流程 裡面可以使用Intel Media SDK將影像解壓縮 使用OpenCV進行影像預處理 接著用預處理完的影像 再呼叫Inference Engine進行推論 接著再使用OpenCV進行影像後處理 比如說加上圖像上需要的註解 最後再用Intel Media SDK將影像進行壓縮 傳遞去Server儲存到雲端 OpenVINO toolkit的範例裡面包含許多 物件辨識、物件偵測的分類 以及有許多預訓練的車輛偵測及年齡性別偵測功能 下載OpenVINO toolkit可以讓使用者熟悉這些操作介面 TANK AIoT development kit 是Intel 官方認可的OpenVINO使用平台 裡面有預安裝的OpenVINO toolkit 是一個OpenVINO toolkit ready platform 可以直接使用IEI Mustang系列的加速卡 進行深度學習的開發 如果想了解更多TANK AIoT development kit的開發訊息 可藉由前往這一頁提供的相關網站得到更多資訊 接著我們來進入 Mustang-F100-A10 安裝OpenVINO toolkit的流程 主要分為三大步驟 第一個是準備事項 包含確認OS以及kernel版本 以及下載需要的安裝套件 第二步是安裝 安裝OpenVINO toolkit SDK 以及 Mustang-F100-A10的Driver 第三步是安裝完成後 執行一些範例來確定安裝是否正確 這裡的OS是Ubuntu 16.04.3 Kernel是4.13.0.45這個版本 在這之前我們已經使用下方指令預安裝了 下面兩個Kernel Linux image extra generic 和 Linux headers generic這兩個Kernel版本 接下來進入TANK的介面 來確認OS與Kernel版本 這裡我們先使用最高權限 輸入密碼以後 先複製指令 來確認這個Ubuntu的版本 現在看到的Ubuntu版本是16.04.3 接下來會利用下面這個指令來確認Kernel的版本 這個Kernel版本是14.13.0.45 generic 接下來再回到簡報 在這個步驟我們需要下載OpenVINO toolkit的 SDK 在下載的時候 需要進入到這個頁面 裡面會有註冊及安裝的順序 我們來點開這個頁面 在這裡,左下角會看到藍色的註冊及下載

完成註冊及下載動作以後 就會得到一個OpenVINO toolkit SDK的檔案 下一步就可以進入到Mustang-F100-A10 driver的下載 一樣這邊這個連結可以進入到IEI Download center 進來以後可以看到這裡有一個 hddlf_1150的壓縮檔 這個就是Mustang-F100-A10 driver的檔案 接下來進入到TANK的介面 來看一下安裝流程 這裡先把兩個檔案都先下載完成,放在Download資料夾 可以看到 hddlf_1150_sg_1的壓縮檔 以及OpenVINO 2018.4.420的SDK壓縮檔 接下來回到Powerpoint slide跟各位繼續介紹 在這裡呢 接下來的安裝步驟其實很簡單 先把OpenVINO toolkit SDK解壓縮 裡面會有GUI安裝介面 進行OpenVINO toolkit的安裝 再來是解壓縮 hddlf_1150_sg_1 這個Mustang-F100-A10 Driver 一樣先解壓縮完再進行安裝 再來是偵測FPGA 輸入aocl diagnose指令 如果看到DIAGNOSTIC PASSED 就代表FPGA卡,已經成功安裝完成 最後的步驟,會進行Sample Program 測試 現在進到TANK的操作介面 一步一步安裝給各位看 首先先移動到Download的資料夾裡面 進入到Download資料夾裡面以後 就來進行OpenVINO toolkit SDK解壓縮 這會花一點時間,因為這個SDK超過2 GB 現在解壓縮完成 接下來再貼上這個指令 這樣我們會進入到解壓縮完的OpenVINO tookit路徑裡 接著執行這行Shell檔 主要這個Shell檔是安裝一些Intel CVSDK dependency 提醒各位安裝時要記得取得網路連線 這一步驟開始進行OpenVINO安裝 這裡有安裝格式,是GUI 現在跳出一個GUI的安裝介面 依序的打勾,按下一步 這裡會出現裡面安裝的一些套件 按下Install 現在安裝已經完成

接下來執行這兩個指令 這兩個指令主要是要初始化OpenVINO的環境 可以看到這裡有OpenVINO environment Initialize 到這裡代表OpenVINO toolkit已經安裝成功 安裝完會自動連到OpenVINO官網 這邊先關掉 在這裡再一次進行OpenVINO初始化 這個指令是要先指定安裝Driver的路徑 這行指令執行的原因是因為 這裡是初始化OpenCL的環境 接下來這一行就輸入 aocl install 來安裝Driver套件 這邊代表安裝完成 我們來檢查PICe的介面,有沒有得到這張卡片 現在Altera已經找到了 代表在PCIe有搜尋到這張卡片 最後是鍵入 aocl diagnose確認 driver是否有順利安裝完成 這邊如果各位看到 DIAGNOSTIC PASSED 代表卡片已經順利安裝完成 接下來會安裝一些 OpenVINO裡面的範例程式 看它運行的狀況 首先先到範例程式安裝的位置 執行Build Sample這個Shell檔案 這邊代表檔案已經Build完成 這邊會有一個提醒 Build已經完成 Build完成的Sample檔案會出現在以下這個路徑 接下來執行幾個簡單Sample Program來看一下 FPGA運行的狀態 首先在執行OpenVINO Sample的時候 在這個環境的 initial 都要再做一次 這裡一樣有指定一個路徑 就是我們Driver的位置 這邊一樣執行這個Shell檔 初始化這個OpenCL 如果OpenVINO toolkit裡面使用FPGA要執行這行指令 接下來我們移到一個範例裡面執行看看 這裡有使用到aocl acl0這個指令

這個指令之前有跟各位提到 在FPGA卡裡面會支援各種不同優化的BST 這裡可經由PCIe把它更新成想要用的格式 比如說這裡是用 FP16 Generic AlexNet GoogleNet VGG aocx檔案 接下來執行這個程序 在這裡可以看到,如果是使用FPGA -d 代表Device 這裡下的指令都必須變成HETERO:FPGA,CPU 因為是第一次執行,所以必須要做一些設定會比較慢 這裡看到整個運行結果已經出來了 可以看到Throughput 是126 fps 這是第一個範例 接下來執行第二個範例 第二個範例是車種和車牌辨識分類的範例 一樣先把優化的BST檔上傳上去 上傳成功以後 再執行範例的Shell檔 看到-d (device)就會出現指定HETERO:FPGA,CPU 這裡可以看到檔案執行的效果 目前是使用HETERO FPGA和CPU的加速 達到每秒142 fps 可以看到這裡進行車牌偵測,車子是黑色 最後再進行一個範例 這是一個接攝影機的範例 先上傳BST的檔案 上傳成功以後 再進入到飯粒的資料夾裡面 進完資料夾直接執行FPGA的範例 在左上角可以看到執行的Frame rate是65張左右 可以抓到人臉的辨識 按Esc跳出 以上是今天安裝教學的介紹 希望經由今天Hands on的內容 各位可以順利使用Mustang-F100-A10 以及OpenVINO toolkit 開始進行Deep Learning推論加速開發 如果有任何使用上的疑問,歡迎到我們的官網 或聯繫我們,我們的研發團隊會盡快與您聯繫 解決您使用上的疑問 謝謝,掰掰