作者:黃明明
英特爾邊緣計算創(chuàng)新大使
前言
OpenVINO 工具套件基于OneAPI開發(fā),可以加快高性能計算機視覺和深度學(xué)習(xí)應(yīng)用開發(fā)速度的工具套件,適用于從邊緣到云的各種英特爾計算平臺上,幫助用戶更快地將更準(zhǔn)確的真實世界數(shù)據(jù)的AI推理結(jié)果部署到生產(chǎn)系統(tǒng)中。通過簡化的開發(fā)工作流程,OpenVINO可賦能開發(fā)者在現(xiàn)實世界中部署高性能應(yīng)用程序和算法。
今天我們將基于哪吒開發(fā)者套件平臺來快速部署OpenVINO Java。
OpenVINO Java API 所在的GitHub 倉庫地址:https://github.com/Hmm466/OpenVINO-Java-API (復(fù)制鏈接到瀏覽器打開)
英特爾開發(fā)者套件-哪吒
1.1 產(chǎn)品介紹
哪吒(Nezha)開發(fā)套件以信用卡大?。?5 x 56mm)的開發(fā)板-哪吒(Nezha)為核心,哪吒采用Intel N97處理器(Alder Lake-N),最大睿頻3.6GHz,Intel UHD Graphics內(nèi)核GPU,可實現(xiàn)高分辨率顯示;板載LPDDR5內(nèi)存、eMMC存儲及TPM 2.0,配備GPIO接口(與樹莓派兼容),支持Windows和Linux操作系統(tǒng),這些功能和無風(fēng)扇散熱方式相結(jié)合,為各種應(yīng)用程序構(gòu)建高效的解決方案,適用于如自動化、物聯(lián)網(wǎng)網(wǎng)關(guān)、數(shù)字標(biāo)牌和機器人等應(yīng)用。
1.2 系統(tǒng)安裝
由于默認的開發(fā)版使用的Ubuntu 18的系統(tǒng),但是系統(tǒng)存在一個顯示器只有800*600的Bug,為此我們需要燒錄一個新系統(tǒng)進去。我們進入Ubuntu intel-iot系統(tǒng)的下載網(wǎng)址(https://ubuntu.com/download/iot/intel-iot)然后下載Intel Atom X7000E Series Processors (former codename Alder Lake N) 即可,因為哪吒平臺是Alder Lake N 架構(gòu),所以下載對應(yīng)平臺的鏡像即可(實際上下載正常的桌面版本即可)。將下載后的鏡像文件刻錄到U盤,按照正常的Ubuntu 系統(tǒng)安裝即可。
1.3 GPU驅(qū)動安裝
由于默認的Ubuntu 安裝之后不會帶有Intel GPU驅(qū)動,為了讓推理的速度能過更加快一點,所以我們這里需要額外安裝一下,首先進入
https://docs.openvino.ai/archive/2023.1/openvino_docs_install_guides_configurations_for_intel_gpu.html
這里官網(wǎng)給出了兩種安裝方式:
A:通過deb安裝
B:通過apt存儲庫。然后安裝ocl-icd-libopencl1、intel-opencl-icd、intel-level-zero-gpu和level-zero apt軟件包:
由于apt包需要配置倉庫,所以我們直接通過deb方式安裝。
1.3.1 創(chuàng)建一個臨時文件夾
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 準(zhǔn)備工作
2.1 配置Java環(huán)境
2.1.1 下載并配置JDK
JDK(Java Development Kit)稱為Java開發(fā)包或Java開發(fā)工具,是一個編寫Java的Applet小程序和應(yīng)用程序的程序開發(fā)環(huán)境。JDK是整個Java的核心,包括了Java運行環(huán)境(Java Runtime Environment),一些Java工具和Java的核心類庫(Java API)。不論什么Java應(yīng)用服務(wù)器實質(zhì)都是內(nèi)置了某個版本的JDK。主流的JDK是Sun公司發(fā)布的JDK,除了Sun之外,還有很多公司和組織都開發(fā)了自己的JDK.
2.1.2 添加api到本地maven
添加OpenVINO Java API 至Maven(目前沒有在meven中央倉庫發(fā)布,所以需要手動安裝)
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 包含用于在處理器設(shè)備上運行模型部署推理的核心庫。OpenVINO Development Tools 是一組用于處理 OpenVINO 和 OpenVINO 模型的工具,包括模型優(yōu)化器、OpenVINO Runtime、模型下載器等。在此處我們只需要安裝 OpenVINO Runtime 即可。
2.2.1 下載 OpenVINO Runtime
訪問 Download the Intel Distribution of OpenVINO Toolkit[5] 頁面,按照下面流程選擇相應(yīng)的安裝選項,在下載頁面,由于哪吒使用的是 Ubuntu22.04,因此下載時按照指定的編譯版本下載即可。
2.2.2 解壓縮安裝包
我們所下載的 OpenVINO Runtime 本質(zhì)是一個 C++ 依賴包,因此我們把它放到我們的系統(tǒng)目錄下,這樣在編譯時會根據(jù)設(shè)置的系統(tǒng)變量獲取依賴項。
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項目
創(chuàng)建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);
結(jié)果將輸出
1 ---- OpenVINO INFO----
2 Description : OpenVINO Runtime
3 Build number: 2023.3.0-13775-ceeafaf64f3-releases/2023/3
3.2 運行YoloV8模型演示效果
4 總結(jié)
在該項目中,我們基于英特爾開發(fā)套件哪吒為硬件基礎(chǔ)實現(xiàn)了Java在 Ubuntu 22.04 系統(tǒng)上成功使用OpenVINO Java API,并且成功允許了Yolov8模型,驗證了Java可以在各種硬件平臺上快速部署和運行,同時簡化了Java開發(fā)者對于AI類項目的上手難度。后續(xù)我還會將繼續(xù)使用 OpenVINO Java API 在 英特爾開發(fā)套件上部署更多的深度學(xué)習(xí)模型。
-
英特爾
+關(guān)注
關(guān)注
61文章
9949瀏覽量
171687 -
JAVA
+關(guān)注
關(guān)注
19文章
2966瀏覽量
104700 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5032瀏覽量
97371
發(fā)布評論請先 登錄
相關(guān)推薦
評論