作者:黃明明
英特爾邊緣計算創新大使
前言
OpenVINO 工具套件基于OneAPI開發,可以加快高性能計算機視覺和深度學習應用開發速度的工具套件,適用于從邊緣到云的各種英特爾計算平臺上,幫助用戶更快地將更準確的真實世界數據的AI推理結果部署到生產系統中。通過簡化的開發工作流程,OpenVINO可賦能開發者在現實世界中部署高性能應用程序和算法。
今天我們將基于哪吒開發者套件平臺來快速部署OpenVINO Java。
OpenVINO Java API 所在的GitHub 倉庫地址:https://github.com/Hmm466/OpenVINO-Java-API (復制鏈接到瀏覽器打開)
英特爾開發者套件-哪吒
1.1 產品介紹
哪吒(Nezha)開發套件以信用卡大小(85 x 56mm)的開發板-哪吒(Nezha)為核心,哪吒采用Intel N97處理器(Alder Lake-N),最大睿頻3.6GHz,Intel UHD Graphics內核GPU,可實現高分辨率顯示;板載LPDDR5內存、eMMC存儲及TPM 2.0,配備GPIO接口(與樹莓派兼容),支持Windows和Linux操作系統,這些功能和無風扇散熱方式相結合,為各種應用程序構建高效的解決方案,適用于如自動化、物聯網網關、數字標牌和機器人等應用。
1.2 系統安裝
由于默認的開發版使用的Ubuntu 18的系統,但是系統存在一個顯示器只有800*600的Bug,為此我們需要燒錄一個新系統進去。我們進入Ubuntu intel-iot系統的下載網址(https://ubuntu.com/download/iot/intel-iot)然后下載Intel Atom X7000E Series Processors (former codename Alder Lake N) 即可,因為哪吒平臺是Alder Lake N 架構,所以下載對應平臺的鏡像即可(實際上下載正常的桌面版本即可)。將下載后的鏡像文件刻錄到U盤,按照正常的Ubuntu 系統安裝即可。
1.3 GPU驅動安裝
由于默認的Ubuntu 安裝之后不會帶有Intel GPU驅動,為了讓推理的速度能過更加快一點,所以我們這里需要額外安裝一下,首先進入
https://docs.openvino.ai/archive/2023.1/openvino_docs_install_guides_configurations_for_intel_gpu.html
這里官網給出了兩種安裝方式:
A:通過deb安裝
B:通過apt存儲庫。然后安裝ocl-icd-libopencl1、intel-opencl-icd、intel-level-zero-gpu和level-zero apt軟件包:
由于apt包需要配置倉庫,所以我們直接通過deb方式安裝。
1.3.1 創建一個臨時文件夾
1 mkdir neo
1.3.2 下載所有的deb包
1 cd neo
2 wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.15985.7/intel-igc-core_1.0.15985.7_amd64.deb
3 wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.15985.7/intel-igc-opencl_1.0.15985.7_amd64.deb
4 wget https://github.com/intel/compute-runtime/releases/download/24.05.28454.6/intel-level-zero-gpu-dbgsym_1.3.28454.6_amd64.ddeb
5 wget https://github.com/intel/compute-runtime/releases/download/24.05.28454.6/intel-level-zero-gpu_1.3.28454.6_amd64.deb
6 wget https://github.com/intel/compute-runtime/releases/download/24.05.28454.6/intel-opencl-icd-dbgsym_24.05.28454.6_amd64.ddeb
7 wget https://github.com/intel/compute-runtime/releases/download/24.05.28454.6/intel-opencl-icd_24.05.28454.6_amd64.deb
8 wget https://github.com/intel/compute-runtime/releases/download/24.05.28454.6/libigdgmm12_22.3.11_amd64.deb
1.3.3 通過root安裝所有的包
1 sudo dpkg -i *.deb
這個時候我們就可以使用GPU來推理了。
2 準備工作
2.1 配置Java環境
2.1.1 下載并配置JDK
JDK(Java Development Kit)稱為Java開發包或Java開發工具,是一個編寫Java的Applet小程序和應用程序的程序開發環境。JDK是整個Java的核心,包括了Java運行環境(Java Runtime Environment),一些Java工具和Java的核心類庫(Java API)。不論什么Java應用服務器實質都是內置了某個版本的JDK。主流的JDK是Sun公司發布的JDK,除了Sun之外,還有很多公司和組織都開發了自己的JDK.
2.1.2 添加api到本地maven
添加OpenVINO Java API 至Maven(目前沒有在meven中央倉庫發布,所以需要手動安裝)
2.1.3 clone OpenVINO Java API 項目到本地
git clone https://github.com/Hmm466/OpenVINO-Java-API
2.1.4 通過IDEA 或 Eclipse 打開
通過maven install 到本地maven 庫中
1 [INFO] ------------------------------------------------------------------------
2 [INFO] BUILD SUCCESS
3 [INFO] ------------------------------------------------------------------------
4 [INFO] Total time: 14.647 s
5 [INFO] Finished at: 2023-11-02T21:34:49+08:00
6 [INFO] ------------------------------------------------------------------------
jar包會放置在
/{userHome}/.m2/repository/org/openvino/java-api/1.0-SNAPSHOT/java-api-1.0-SNAPSHOT.pom
2.2 安裝 OpenVINO Runtime
OpenVINO 有兩種安裝方式: OpenVINO Runtime 和OpenVINO Development Tools。OpenVINO Runtime 包含用于在處理器設備上運行模型部署推理的核心庫。OpenVINO Development Tools 是一組用于處理 OpenVINO 和 OpenVINO 模型的工具,包括模型優化器、OpenVINO Runtime、模型下載器等。在此處我們只需要安裝 OpenVINO Runtime 即可。
2.2.1 下載 OpenVINO Runtime
訪問 Download the Intel Distribution of OpenVINO Toolkit[5] 頁面,按照下面流程選擇相應的安裝選項,在下載頁面,由于哪吒使用的是 Ubuntu22.04,因此下載時按照指定的編譯版本下載即可。
2.2.2 解壓縮安裝包
我們所下載的 OpenVINO Runtime 本質是一個 C++ 依賴包,因此我們把它放到我們的系統目錄下,這樣在編譯時會根據設置的系統變量獲取依賴項。
1 cd ~/Downloads/
2 tar -xvzf l_openvino_toolkit_ubuntu22_2023.3.0.13775.ceeafaf64f3_x86_64.tgz
3 sudo mv l_openvino_toolkit_ubuntu22_2023.3.0.13775.ceeafaf64f3_x86_64/runtime/lib/intel64/* /usr/lib/
3 在哪吒平臺上進行測試
3.1 源代碼直接測試
git clone https://github.com/Hmm466/OpenVINO-Java-API
使用IDEA打開OpenVINO-Java-API項目
創建src/test/java/org.openvino.java.test.OpenVINOTest
編寫測試代碼:
1 OpenVINO vino = OpenVINO.load();
2 OvVersion version = vino.getVersion();
3 Console.println("---- OpenVINO INFO----");
4 Console.println("Description : %s", version.description);
5 Console.println("Build number: %s", version.buildNumber);
結果將輸出
1 ---- OpenVINO INFO----
2 Description : OpenVINO Runtime
3 Build number: 2023.3.0-13775-ceeafaf64f3-releases/2023/3
3.2 運行YoloV8模型演示效果
4 總結
在該項目中,我們基于英特爾開發套件哪吒為硬件基礎實現了Java在 Ubuntu 22.04 系統上成功使用OpenVINO Java API,并且成功允許了Yolov8模型,驗證了Java可以在各種硬件平臺上快速部署和運行,同時簡化了Java開發者對于AI類項目的上手難度。后續我還會將繼續使用 OpenVINO Java API 在 英特爾開發套件上部署更多的深度學習模型。
-
英特爾
+關注
關注
60文章
9880瀏覽量
171480 -
JAVA
+關注
關注
19文章
2957瀏覽量
104544 -
開發板
+關注
關注
25文章
4943瀏覽量
97188
發布評論請先 登錄
相關推薦
評論