OpenVINO™ C# API 最新升级:支持 OpenVINO™ Runtime 2024.3和更多得C#框架

2b5d31367340959af3eabcbb0c02b50a.gif

版本更新

  各位开发者大家好,目前OpenVINO™官方已经发布了最新版本的Runtime 2024.3.0,因此我们根据官方发布的最新版本已经更新了OpenVINO™ Runtime NuGet包2024.3.0.1,大家可以下载进行测试使用。

  此外也对OpenVINO™ CSharp API程序集进行了更新,修复了一些接口错误,此外本次发布同时编译了多个框架的程序集,目前已经支持了NET 5,. NET 6, NET 7,. NET 8, NET Framework 4.6, NET Framework 4.61, NET Framework 4.7, NET Framework 4.72, NET Framework 4.8, NET Framework 4.81, NET Core 3.1等C# 常见框架,欢迎大家使用:

  本次更新主要更新了以下包:

序号Package版本链接
1OpenVINO.CSharp.API2024.3.0.2https://www.nuget.org/packages/OpenVINO.CSharp.API/2024.3.0.2
2OpenVINO.runtime.win2024.3.0.1https://www.nuget.org/packages/OpenVINO.runtime.win/2024.3.0.1
3OpenVINO.runtime.macos-x86_642024.3.0.1https://www.nuget.org/packages/OpenVINO.runtime.macos-x86_64/2024.3.0.1
4OpenVINO.runtime.macos-arm642024.3.0.1https://www.nuget.org/packages/OpenVINO.runtime.macos-arm64/2024.3.0.1
5OpenVINO.runtime.rhel8-x86_642024.3.0.1https://www.nuget.org/packages/OpenVINO.runtime.rhel8-x86_64/2024.3.0.1
6OpenVINO.runtime.centos7-x86_642024.3.0.1https://www.nuget.org/packages/OpenVINO.runtime.centos7-x86_64/2024.3.0.1
7OpenVINO.runtime.debian10-armhf2024.3.0.1https://www.nuget.org/packages/OpenVINO.runtime.debian10-armhf/2024.3.0.1
8OpenVINO.runtime.ubuntu.20-x86_642024.3.0.1https://www.nuget.org/packages/OpenVINO.runtime.ubuntu.20-x86_64/2024.3.0.1
9OpenVINO.runtime.ubuntu.20-arm642024.3.0.1https://www.nuget.org/packages/OpenVINO.runtime.ubuntu.20-arm64/2024.3.0.1
10OpenVINO.runtime.ubuntu.22-x86_642024.3.0.1https://www.nuget.org/packages/OpenVINO.runtime.ubuntu.22-x86_64/2024.3.0.1
11OpenVINO.runtime.ubuntu.24-x86_642024.3.0.1https://www.nuget.org/packages/OpenVINO.runtime.ubuntu.24-x86_64/2024.3.0.1

  下图是目前已经开发和上传的NuGet Package,有一些版本目前只支持一些老版本,因此大家根据自己需要进行使用:

ea82669e0a6a0b984c2e72c6cae32ad5.png

  以上是本次更新内容,欢迎大家使用,有什么使用问题可以在群里进行提问和交流。

简介

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

  • 提升深度学习在计算机视觉、自动语音识别、自然语言处理和其他常见任务中的性能

  • 使用流行框架(如TensorFlow,PyTorch等)训练的模型

  • 减少资源需求,并在从边缘到云的一系列英特尔®平台上高效部署

  OpenVINO™ C# API 是一个 OpenVINO™ 的 .Net wrapper,应用最新的 OpenVINO™ 库开发,通过 OpenVINO™ C API 实现 .Net 对 OpenVINO™ Runtime 调用,使用习惯与 OpenVINO™ C++ API 一致。OpenVINO™ C# API 由于是基于 OpenVINO™ 开发,所支持的平台与 OpenVINO™ 完全一致,具体信息可以参考 OpenVINO™。通过使用 OpenVINO™ C# API,可以在 .NET、.NET Framework等框架下使用 C# 语言实现深度学习模型在指定平台推理加速。

NuGet Package

Core Managed Libraries

321e9704ee0eb70c3520f56dd2ff12b3.png

Native Runtime Libraries

947e19a8109a93334e35e38daf5ddc49.png

⚙ 如何安装

以下提供了OpenVINO™ C# API在不同平台的安装方法,可以根据自己使用平台进行安装。

Windows

  通过dotnet add package指令安装或通过Visual Studio安装以下程序包

dotnet add package OpenVINO.CSharp.API
dotnet add package OpenVINO.runtime.win
或者安装集成包——>
dotnet add package OpenVINO.CSharp.Windows

Linux

  linux平台我们根据官方编译的平台制作了对应的NuGet Package,以ubuntu.22-x86_64为例,通过dotnet add package指令安装:

dotnet add package OpenVINO.CSharp.API
dotnet add package OpenVINO.runtime.ubuntu.22-x86_64

  运行一次程序后,添加环境变量:

export LD_LIBRARY_PATH={Program generated executable file directory}/runtimes/ubuntu.22-x86_64/native
例如——>
export LD_LIBRARY_PATH=/home/ygj/Program/sample1/bin/Debug/net6.0/runtimes/ubuntu.22-x86_64/native

  如果对于一个全新平台(未安装过OpenVINO C++),需要安装一下依赖环境,切换到{Program generated executable file directory}/runtimes/ubuntu.22-x86_64/native目录下,运行以下指令:

sudo -E ./install_openvino_dependencies.sh

Mac OS

  通过dotnet add package指令安装以下程序包

dotnet add package OpenVINO.CSharp.API
dotnet add package OpenVINO.runtime.macos-arm64

开始使用

  • 使用方法

  如果你不知道如何使用,通过下面代码简单了解使用方法。

using OpenVinoSharp;  // 引用命名空间
namespace test
{
    internal class Program
    {
        static void Main(string[] args)
        {
            using Core core = new Core();  // 初始化 Core 核心
            using Model model = core.read_model("./model.xml");  // 读取模型文件
            using CompiledModel compiled_model = core.compiled_model(model, "AUTO");  // 将模型加载到设备
            using InferRequest infer_request = compiled_model.create_infer_request();  // 创建推理通道
            using Tensor input_tensor = infer_request.get_tensor("images");  // 获取输入节点Tensor
            infer_request.infer();  // 模型推理
            using Tensor output_tensor = infer_request.get_tensor("output0");  // 获取输出节点Tensor
        }
    }
}

  项目中所封装的类、对象例如Core、Model、Tensor等,通过调用 C api 接口实现,具有非托管资源,需要调用Dispose()方法处理或者使用using,否则就会出现内存泄漏。

应用案例

  获取耕读应用案例请参考:OpenVINO-CSharp-API-Samples

https://github.com/guojin-yan/OpenVINO-CSharp-API-Samples

API 文档

  如果想了解更多信息,可以参阅:OpenVINO™ C# API API Documented

https://guojin-yan.github.io/OpenVINO-CSharp-API.docs/index.html

贡献

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

  如果你对该项目有一些想法或改进思路,欢迎联系我们,指导下我们的工作。如果各位开发者在使用中有任何问题,欢迎大家与我联系。

687478ef7cc09351f0a12d0bd8a41918.png

许可证书

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

猜你喜欢的文章

▶ 使用 OpenVINO™ GenAI C++部署大语言模型 | 轻松构建一个Chat实例

▶ YOLOv10在CPU上也能实现50+FPS推理—使用OpenVINO C++部署YOLOv10

▶ YOLOv10使用CPU+OpenVINO实现50FPS推理

▶ YOLOv10在CPU上也能实现50+FPS推理—使用OpenVINO C++部署YOLOv10

▶ TensorRT C# API 项目更新(2):优化安装方式和代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值