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

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

3天内不再提示

【转载】英特尔开发套件“哪吒”快速部署YoloV8 on Java | 开发者实战

研扬科技AAEON 2024-03-23 08:05 次阅读

作者:黄明明

英特尔边缘计算创新大使

wKgaombVFymAcNyZAEM0bgEcC7E118.png

前言

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操作系统,这些功能和无风扇散热方式相结合,为各种应用程序构建高效的解决方案,适用于如自动化、物联网网关、数字标牌和机器人等应用。

wKgZombVH1WAFTv4AAGCYBjX6v0134.pngwKgaombVH1-AOeGsAANAL3en4Xg802.pngwKgZombVH4OAbjXIAAMXN30mzco203.png

wKgaombVH4OAYRCsAAFvKgQisj8703.png

wKgZombVH42AEszDAAJCfvVMCQw526.png

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,因此下载时按照指定的编译版本下载即可。

wKgaombVG56AZnP1AAKlVmoblvo466.png

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模型演示效果

wKgZombVHvCATl94AApJ_9zNzyg613.png

4 总结

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

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

    关注

    61

    文章

    9915

    浏览量

    171587
  • JAVA
    +关注

    关注

    19

    文章

    2960

    浏览量

    104587
  • 开发板
    +关注

    关注

    25

    文章

    4979

    浏览量

    97272
收藏 人收藏

    评论

    相关推荐

    使用英特尔哪吒开发套件部署YOLOv5完成透明物体目标检测

    英特尔哪吒(Nezha)开发套件是一款专为边缘AI和物联网应用设计的高性能计算平台,搭载了英特尔 N97处理器、内置英特尔 UHD Gra
    的头像 发表于 11-25 17:15 165次阅读
    使用<b class='flag-5'>英特尔</b><b class='flag-5'>哪吒</b><b class='flag-5'>开发套件</b><b class='flag-5'>部署</b><b class='flag-5'>YOLOv</b>5完成透明物体目标检测

    基于哪吒开发部署YOLOv8模型

    2024英特尔 “走近开发者”互动活动-哪吒开发套件免费试 用 AI 创新计划:哪吒开发板是专为
    的头像 发表于 11-15 14:13 180次阅读
    基于<b class='flag-5'>哪吒</b><b class='flag-5'>开发</b>板<b class='flag-5'>部署</b><b class='flag-5'>YOLOv8</b>模型

    OpenVINO™ C++ 在哪吒开发板上推理 Transformer 模型|开发者实战

    使用OpenVINO定制你的AI助手丨开发者实战作者:王国强苏州嘉树医疗科技有限公司算法工程师指导:颜国进英特尔边缘计算创新大使研扬科技针对边缘AI行业开发者推出的『
    的头像 发表于 09-28 08:01 296次阅读
    OpenVINO™ C++ 在<b class='flag-5'>哪吒</b><b class='flag-5'>开发</b>板上推理 Transformer 模型|<b class='flag-5'>开发者</b><b class='flag-5'>实战</b>

    从运动员到开发者: 英特尔以开放式AI系统应对多重挑战

    打造的生成式AI(GenAI)检索增强生成(RAG)解决方案。该成果深度展示了英特尔如何通过基于英特尔®至强®处理器和英特尔® Gaudi AI加速器的开放式AI系统及平台,帮助开发者
    的头像 发表于 07-25 09:28 258次阅读
    从运动员到<b class='flag-5'>开发者</b>: <b class='flag-5'>英特尔</b>以开放式AI系统应对多重挑战

    英特尔开发套件哪吒』在Java环境实现ADAS道路识别演示 | 开发者实战

    本文使用来自OpenModelZoo的预训练的road-segmentation-adas-0001模型。ADAS代表高级驾驶辅助服务。该模型识别四个类别:背景、道路、路缘和标记。硬件环境此文使用了英特尔开发套件家族里的『哪吒
    的头像 发表于 04-29 08:07 520次阅读
    <b class='flag-5'>英特尔</b><b class='flag-5'>开发套件</b>『<b class='flag-5'>哪吒</b>』在<b class='flag-5'>Java</b>环境实现ADAS道路识别演示 | <b class='flag-5'>开发者</b><b class='flag-5'>实战</b>

    英特尔面向AI PC软件开发者与硬件供应商新增助力计划

    英特尔公司近日宣布“AI PC加速计划”再添两项人工智能(AI)新举措,即新增“AI PC开发者计划”,并吸纳独立硬件供应商(IHV)加入“AI PC加速计划”。
    的头像 发表于 04-02 10:09 319次阅读

    英特尔宣布AI PC加速计划新增两项AI举措

    首先,“AI PC 开发者计划”面向软件研发人员和独立软件开发商,为他们提供便捷的开发环境,助力加速大规模运用新型 AI技术。此计划包含一系列全面的工具、优化工作流方案、AI 部署框架
    的头像 发表于 03-27 16:03 355次阅读

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

    OpenVINO 工具套件基于OneAPI开发,可以加快高性能计算机视觉和深度学习应用开发速度的工具套件,适用于从边缘到云的各种英特尔计算平
    的头像 发表于 03-21 18:24 1440次阅读
    基于<b class='flag-5'>英特尔</b><b class='flag-5'>哪吒</b><b class='flag-5'>开发者</b><b class='flag-5'>套件</b>平台来<b class='flag-5'>快速</b><b class='flag-5'>部署</b>OpenVINO <b class='flag-5'>Java</b><b class='flag-5'>实战</b>

    OpenVINO™ Java API应用RT-DETR做目标检测器实战

    本文将从零开始详细介绍环境搭建的完整步骤,我们基于英特尔开发套件AIxBoard为硬件基础实现了Java在Ubuntu 22.04系统上成功使用OpenVINO™ Java API,并
    的头像 发表于 03-18 15:04 768次阅读
    OpenVINO™ <b class='flag-5'>Java</b> API应用RT-DETR做目标检测器<b class='flag-5'>实战</b>

    基于OpenCV DNN实现YOLOv8的模型部署与推理演示

    基于OpenCV DNN实现YOLOv8推理的好处就是一套代码就可以部署在Windows10系统、乌班图系统、Jetson的Jetpack系统
    的头像 发表于 03-01 15:52 1445次阅读
    基于OpenCV DNN实现<b class='flag-5'>YOLOv8</b>的模型<b class='flag-5'>部署</b>与推理演示

    英飞凌推出CYUSBS236 USB转串行通信(双通道)开发套件

    英飞凌科技(Infineon Technologies)近日宣布推出全新的CYUSBS236 USB 转串行通信(双通道)开发套件。该开发套件基于英飞凌的CY7C65215 USB 串行桥控制器,为开发者提供了
    的头像 发表于 01-24 17:12 863次阅读

    OpenVINO™ 赋能千元级『哪吒』AI开发套件大语言模型 | 开发者实战

    作者:英特尔AI软件布道师武卓博士前言在人工智能的飞速发展中,大语言模型,如Stable-Zephyr-3b,已成为研究和应用的热点。这些模型以其强大的文本理解和生成能力在多个领域大放异彩。然而
    的头像 发表于 01-06 08:05 1485次阅读
    OpenVINO™ 赋能千元级『<b class='flag-5'>哪吒</b>』AI<b class='flag-5'>开发套件</b>大语言模型 | <b class='flag-5'>开发者</b><b class='flag-5'>实战</b>

    基于YOLOv8的自定义医学图像分割

    YOLOv8是一种令人惊叹的分割模型;它易于训练、测试和部署。在本教程中,我们将学习如何在自定义数据集上使用YOLOv8。但在此之前,我想告诉你为什么在存在其他优秀的分割模型时应该使用YOLO
    的头像 发表于 12-20 10:51 749次阅读
    基于<b class='flag-5'>YOLOv8</b>的自定义医学图像分割

    日本yolov8用户案例

    通过模拟人手臂的姿态来控制机械臂。演示的内容是使用USB摄像头通过图像识别估计手臂,并将mycobot制作成类似的手臂形状。 视频链接:https://youtu.be/h1H6pSvhQxQ 该项目主要使用Ultralytics YOLOv8来进行姿态的估计,结合机器视觉和机械臂的控制
    的头像 发表于 12-18 15:51 613次阅读
    日本<b class='flag-5'>yolov8</b>用户案例

    如何解决模型部署时出现算子不匹配问题

    英特尔发行版 OpenVINO 工具套件基于 oneAPI 而开发,可以加快高性能计算机视觉和深度学习视觉应用开发速度工具套件,适用于从边缘
    的头像 发表于 12-08 15:30 1005次阅读
    如何解决模型<b class='flag-5'>部署</b>时出现算子不匹配问题