0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于英特尔哪吒开发者套件平台来快速部署OpenVINO Java实战

英特尔物联网 来源:英特尔物联网 2024-03-21 18:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

OpenVINO 工具套件基于OneAPI开发,可以加快高性能计算机视觉深度学习应用开发速度的工具套件,适用于从边缘到云的各种英特尔计算平台上,帮助用户更快地将更准确的真实世界数据的AI推理结果部署到生产系统中。通过简化的开发工作流程,OpenVINO可赋能开发者在现实世界中部署高性能应用程序和算法

今天我们将基于哪吒开发者套件平台来快速部署OpenVINO Java

1

英特尔开发者套件-哪吒

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 创建一个临时文件夹

mkdir neo

1.3.2 下载所有的deb包

cd neo
wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.15985.7/intel-igc-core_1.0.15985.7_amd64.deb
wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.15985.7/intel-igc-opencl_1.0.15985.7_amd64.deb
wget https://github.com/intel/compute-runtime/releases/download/24.05.28454.6/intel-level-zero-gpu-dbgsym_1.3.28454.6_amd64.ddeb
wget https://github.com/intel/compute-runtime/releases/download/24.05.28454.6/intel-level-zero-gpu_1.3.28454.6_amd64.deb
wget https://github.com/intel/compute-runtime/releases/download/24.05.28454.6/intel-opencl-icd-dbgsym_24.05.28454.6_amd64.ddeb
wget https://github.com/intel/compute-runtime/releases/download/24.05.28454.6/intel-opencl-icd_24.05.28454.6_amd64.deb
wget https://github.com/intel/compute-runtime/releases/download/24.05.28454.6/libigdgmm12_22.3.11_amd64.deb

1.3.3 通过root安装所有的包

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 库中

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 14.647 s
[INFO] Finished at: 2023-11-02T21:34:49+08:00
[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,因此下载时按照指定的编译版本下载即可。

a23c97fa-e76b-11ee-a297-92fbcf53809c.png

2.2.2 解压缩安装包

我们所下载的 OpenVINO Runtime 本质是一个 C++ 依赖包,因此我们把它放到我们的系统目录下,这样在编译时会根据设置的系统变量获取依赖项。

cd ~/Downloads/
tar -xvzf l_openvino_toolkit_ubuntu22_2023.3.0.13775.ceeafaf64f3_x86_64.tgz
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

编写测试代码:

OpenVINO vino = OpenVINO.load();
OvVersion version = vino.getVersion();
Console.println("---- OpenVINO INFO----");
Console.println("Description : %s", version.description);
Console.println("Build number: %s", version.buildNumber);

结果将输出

---- OpenVINO INFO----
Description : OpenVINO Runtime
Build number: 2023.3.0-13775-ceeafaf64f3-releases/2023/3

3.2

运行YoloV8模型演示效果

a26efcae-e76b-11ee-a297-92fbcf53809c.png

4

总结

在该项目中,我们基于英特尔开发套件哪吒为硬件基础实现了Java在 Ubuntu 22.04 系统上成功使用OpenVINO Java API,并且成功允许了Yolov8模型,验证了Java可以在各种硬件平台上快速部署和运行,同时简化了Java开发者对于AI类项目的上手难度。后续我还会将继续使用 OpenVINO Java API 在 英特尔开发套件上部署更多的深度学习模型。



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英特尔
    +关注

    关注

    61

    文章

    10275

    浏览量

    179312
  • JAVA
    +关注

    关注

    20

    文章

    2997

    浏览量

    115684
  • 计算机视觉
    +关注

    关注

    9

    文章

    1714

    浏览量

    47455
  • 深度学习
    +关注

    关注

    73

    文章

    5590

    浏览量

    123909
  • OpenVINO
    +关注

    关注

    0

    文章

    117

    浏览量

    716
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用英特尔® NPU 插件C++运行应用程序时出现错误:“std::Runtime_error at memory location”怎么解决?

    使用OpenVINO™工具套件版本 2024.4.0 构建C++应用程序 使用英特尔® NPU 插件运行了 C++ 应用程序 遇到的错误: Microsoft C++ exception: std::runtime_err
    发表于 06-25 08:01

    英特尔发布全新GPU,AI和工作站迎来新选择

    英特尔推出面向准专业用户和AI开发者英特尔锐炫Pro GPU系列,发布英特尔® Gaudi 3 AI加速器机架级和PCIe部署方案   2
    发表于 05-20 11:03 1668次阅读

    Intel OpenVINO™ Day0 实现阿里通义 Qwen3 快速部署

    本文将以 Qwen3-8B 为例,介绍如何利用 OpenVINO 的 Python API 在英特尔平台(GPU, NPU)Qwen3 系列模型。
    的头像 发表于 05-11 11:36 1378次阅读
    Intel <b class='flag-5'>OpenVINO</b>™ Day0 实现阿里通义 Qwen3 <b class='flag-5'>快速</b><b class='flag-5'>部署</b>

    Java开发者必备的效率工具——Perforce JRebel是什么?为什么很多Java开发者在用?

    Perforce JRebel是一款Java开发效率工具,旨在帮助java开发人员更快地编写更好的应用程序。JRebel可即时重新加载对代码的修改,无需重启或重新
    的头像 发表于 04-27 13:44 648次阅读
    <b class='flag-5'>Java</b><b class='flag-5'>开发者</b>必备的效率工具——Perforce JRebel是什么?为什么很多<b class='flag-5'>Java</b><b class='flag-5'>开发者</b>在用?

    英特尔哪吒开发套件部署DeepSeek-R1的实现方式

    随着人工智能技术的快速发展,企业对 AI 模型的部署方式有了更多选择。本地部署 DeepSeek-R1 模型具有以下显著优势,使其成为许多企业和开发者的首选。
    的头像 发表于 03-12 13:38 884次阅读
    在<b class='flag-5'>英特尔</b><b class='flag-5'>哪吒</b><b class='flag-5'>开发套件</b>上<b class='flag-5'>部署</b>DeepSeek-R1的实现方式

    如何部署OpenVINO™工具套件应用程序?

    编写代码并测试 OpenVINO™ 工具套件应用程序后,必须将应用程序安装或部署到生产环境中的目标设备。 OpenVINO部署管理器指南包
    发表于 03-06 08:23

    在Windows中安装OpenVINO™后,无法找到OpenCL编译器二进制文件是怎么回事?

    已在 Windows* 和开源OpenVINO工具套件 Windows* 中安装 OpenVINO英特尔 Distribution。 如 如何为 VPU 实施自定义层 (
    发表于 03-05 08:57

    为什么无法检测到OpenVINO™工具套件中的英特尔®集成图形处理单元?

    在 Ubuntu* Desktop 22.04 上安装了 英特尔® Graphics Driver 版本并OpenVINO™ 2023.1。 运行 python 代码: python -c
    发表于 03-05 08:36

    请问OpenVINO™工具套件英特尔®Distribution是否与Windows® 10物联网企业版兼容?

    无法在基于 Windows® 10 物联网企业版的目标系统上使用 英特尔® Distribution OpenVINO™ 2021* 版本推断模型。
    发表于 03-05 08:32

    安装OpenVINO™适用于Raspberry Pi64位操作系统的工具套件2022.3.1,配置英特尔®NCS2时出错怎么解决?

    安装OpenVINO™适用于 Raspberry Pi* 64 位操作系统的工具套件 2022.3.1。 配置英特尔® NCS2时出错: CMake Error at CMakeLists.txt
    发表于 03-05 07:27

    英特尔®独立显卡与OpenVINO™工具套件结合使用时,无法运行推理怎么解决?

    使用英特尔®独立显卡与OpenVINO™工具套件时无法运行推理
    发表于 03-05 06:56

    为什么Caffe模型可以直接与OpenVINO™工具套件推断引擎API一起使用,而无法转换为中间表示 (IR)?

    推断 Caffe 模型直接基于 英特尔® 神经电脑棒 2 (英特尔® NCS2)。 无法确定为什么 Caffe 模型可以直接与OpenVINO™工具套件推断引擎 API 一起使用
    发表于 03-05 06:31

    C#中使用OpenVINO™:轻松集成AI模型!

    作者:算力魔方创始人/英特尔创新大使刘力 C#不仅在PC游戏开发、大型商业系统领域应用广泛,还成为开源测控、机器视觉与运动控制,以及PC数集与分析领域中的主流开发语言! 在开源测控、机器视觉、数采
    的头像 发表于 02-07 14:05 1656次阅读
    C#中使用<b class='flag-5'>OpenVINO</b>™:轻松集成AI模型!

    英特尔开发板评测

    作者: 隋晓金 收到英特尔开发板-小挪吒,正好手中也有oak相机,反正都是 OpenVINO 一套玩意,进行评测一下,竟然默认是个Windows系统,刷机成Linux系统比较方便。 我们先刷个刷成
    的头像 发表于 01-24 09:37 1625次阅读
    <b class='flag-5'>英特尔</b>的<b class='flag-5'>开发</b>板评测

    英特尔与扣子云平台合作推出AI PC Bot专区与端侧插件商店

    近日,在2024年火山引擎FORCE原动力大会的开发者论坛硬件终端专场上,英特尔携手扣子云平台共同推出了行业首个端云协同智能体开发平台——C
    的头像 发表于 12-27 14:11 1399次阅读