Skip to content

OpenVINO-Java-API 在人工智能领域的一些引用,通过使用OpenVINO平台结合Java 快速集成图像、音频、LLM等应用。(Some references of OpenVINO-Java-API in the field of artificial intelligence, by using the OpenVINO platform combined with Java to quickly integrate applications such as image, audio, LLM, etc.)

License

Notifications You must be signed in to change notification settings

Hmm466/OpenVINO-Java-API-Examples

Repository files navigation

OpenVINO™ Java API

简体中文| English

📚 简介

OpenVINO™ 是一个用于优化和部署 AI 推理的开源工具包。

  • 提升深度学习在计算机视觉、自动语音识别、自然语言处理和其他常见任务中的性能
  • 使用流行框架(如TensorFlow,PyTorch等)训练的模型
  • 减少资源需求,并在从边缘到云的一系列英特尔®平台上高效部署

目前有开发者以实现Ubuntu下使用OpenVINO™方法,但是却需要通过C++编译等,带来一些使用困惑,不能达到开箱即用的效果,所以该项目才用JNA实现基于OpenVINO™工具套件推出的OpenVINO™ Java API,旨在推动 OpenVINO™在Java领域的应用。OpenVINO™ Java API 由于是基于 OpenVINO™ 开发,所支持的平台与OpenVINO™ 一致,具体信息可以参考 OpenVINO™。

⚙ 如何安装

以下文章提供了OpenVINO™ Java API在不同平台的安装方法,可以根据自己使用平台进行安装。 简短安装既要:

  • 在OpenVINO官网下载对应平台的runtime库
  • 将Runtime库加入环境变量
  • Windows: 放在
  • Linux/Mac OS: 将库文件放入/usr/lib/

详细使用文档

🏷开始使用

由于本项目未上传的Maven,请git clone [email protected]:Hmm466/OpenVINO-Java-API.git

  • 使用IDEA 打开OpenVINO-Java-API
  • Maven -> Lifecycle -> install

(或者将本项目dataset、model、src、libs拷贝至OpenVINO-Java-API 项目中即可体验)

public class OpenVINOTest {
    
    public static void main(String[] args) {
        //实现OpenVINO 库加载.
        OpenVINO vino = OpenVINO.load("libopenvino_c.dylib");
        //如果将库放置path目录(/usr/lib)可以这样简写
        //OpenVINO vino = OpenVINO.load();
        Core core = new Core();  // 初始化 Core 核心
        Model model = core.readModel("./model.xml");  // 读取模型文件
        CompiledModel compiledModel = core.compiledModel(model, "AUTO");  // 将模型加载到设备
        InferRequest inferRequest = compiledModel.createInferRequest();  // 创建推理通道
        Tensor inputTensor = inferRequest.getTensor("images");  // 获取输入节点Tensor
        inferRequest.infer();  // 模型推理
        Tensor output_tensor = inferRequest.getTensor("output0");  // 获取输出节点Tensor
        //清理 Core 非托管内存
        core.free();
    }
}

示例

OpenVINO-Java-API-Examples 仓库包含使用 OpenVINO-Java-API 库的示例。您可以点击此处进行运行。

# 模型名称 描述 Link
1 HelloOpenVINO 打印OpenVINO的版本信息,验证OpenVINO 是否能够正常加载 OpenVINOTest.java
2 YoloV8 使用YoloV8模型进行seg/pose/cls 推理 YoloV8Test.java

🔃 更新日志

🎖 贡献

  如果您对OpenVINO™ 在Java使用感兴趣,有兴趣对开源社区做出自己的贡献,欢迎加入我们,一起开发OpenVINO™ Java API。

  如果你对该项目有一些想法或改进思路,欢迎联系我们,指导下我们的工作。

许可证书

本项目的发布受Apache 2.0 license许可认证。

About

OpenVINO-Java-API 在人工智能领域的一些引用,通过使用OpenVINO平台结合Java 快速集成图像、音频、LLM等应用。(Some references of OpenVINO-Java-API in the field of artificial intelligence, by using the OpenVINO platform combined with Java to quickly integrate applications such as image, audio, LLM, etc.)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages