OpenVINO™ C# API 最新升级:支持 2024.3 Runtime和更多得C#框架
各位开发者大家好,目前OpenVINO官方已经发布了最新版本的Runtime 2024.3.0,因此我们根据官方发布的最新版本已经更新了OpenVINO Runtime NuGet包2024.3.0.1,大家可以下载进行测试使用。
英特尔物联网创新大使 颜国进
1.1 版本更新
各位开发者大家好,目前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 | 版本 | 链接 |
1 | OpenVINO.CSharp.API | 2024.3.0.2 |
|
2 | OpenVINO.runtime.win | 2024.3.0.1 |
|
3 | OpenVINO.runtime.macos-x86_64 | 2024.3.0.1 |
|
4 | OpenVINO.runtime.macos-arm64 | 2024.3.0.1 |
|
5 | OpenVINO.runtime.rhel8-x86_64 | 2024.3.0.1 |
|
6 | OpenVINO.runtime.centos7-x86_64 | 2024.3.0.1 |
|
7 | OpenVINO.runtime.debian10-armhf | 2024.3.0.1 |
|
8 | OpenVINO.runtime.ubuntu.20-x86_64 | 2024.3.0.1 |
|
9 | OpenVINO.runtime.ubuntu.20-arm64 | 2024.3.0.1 |
|
10 | OpenVINO.runtime.ubuntu.22-x86_64 | 2024.3.0.1 |
|
11 | OpenVINO.runtime.ubuntu.24-x86_64 | 2024.3.0.1 |
|
下图是目前已经开发和上传的NuGet Package,有一些版本目前只支持一些老版本,因此大家根据自己需要进行使用:
以上是本次更新内容,欢迎大家使用,有什么使用问题可以在群里进行提问和交流。
1.2 简介
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# 语言实现深度学习模型在指定平台推理加速。
1.3 NuGet Package
1.3.1 Core Managed Libraries
Package | Description |
OpenVINO.CSharp.API | OpenVINO C# API core libraries |
OpenVINO.CSharp.API.Extensions | OpenVINO C# API core extensions libraries |
OpenVINO.CSharp.API.Extensions.OpenCvSharp | OpenVINO C# API core extensions libraries use OpenCvSharp |
OpenVINO.CSharp.API.Extensions.EmguCV | OpenVINO C# API core extensions libraries use EmguCV |
OpenVINO.CSharp.API.Extensions.PaddleOCR | PaddleOCR Deploy in OpenVINO.CSharp.API. |
1.3.2 Native Runtime Libraries
Package | Description |
OpenVINO.runtime.win | Native bindings for Windows |
OpenVINO.runtime.ubuntu.24-x86_64 | Native bindings for ubuntu.24-x86_64 |
OpenVINO.runtime.ubuntu.22-x86_64 | Native bindings for ubuntu.22-x86_64 |
OpenVINO.runtime.ubuntu.20-x86_64 | Native bindings for ubuntu.20-x86_64 |
OpenVINO.runtime.ubuntu.20-arm64 | Native bindings for ubuntu.20-arm64 |
OpenVINO.runtime.ubuntu.18-x86_64 | Native bindings for ubuntu.18-x86_64 |
OpenVINO.runtime.ubuntu.18-arm64 | Native bindings for uOpenVINO.runtime.ubuntu.18-arm64 |
OpenVINO.runtime.debian10-armhf | Native bindings for debian10-armhf |
OpenVINO.runtime.debian9-arm64 | Native bindings for debian9-arm64 |
OpenVINO.runtime.debian9-armhf | Native bindings for debian9-armhf |
OpenVINO.runtime.centos7-x86_64 | Native bindings for centos7-x86_64 |
OpenVINO.runtime.rhel8-x86_64 | Native bindings for rhel8-x86_64 |
OpenVINO.runtime.macos-x86_64 | Native bindings for macos-x86_64 |
OpenVINO.runtime.macos-arm64 | Native bindings for macos-arm64 |
1.4 如何安装
以下提供了OpenVINO™ C# API在不同平台的安装方法,可以根据自己使用平台进行安装。
1.4.1 Windows
通过dotnet add package
指令安装或通过Visual Studio安装以下程序包
dotnet add package OpenVINO.CSharp.API
dotnet add package OpenVINO.runtime.win
或者安装集成包——>
dotnet add package OpenVINO.CSharp.Windows
1.4.2 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
1.4.3 Mac OS
通过dotnet add package
指令安装以下程序包
dotnet add package OpenVINO.CSharp.API
dotnet add package OpenVINO.runtime.macos-arm64
1.5 开始使用
- 使用方法
如果你不知道如何使用,通过下面代码简单了解使用方法。
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,否则就会出现内存泄漏。
1.6 应用案例
获取更多应用案例请参考:OpenVINO-CSharp-API-Samples
https://github.com/guojin-yan/OpenVINO-CSharp-API-Samples
1.7 API 文档
如果想了解更多信息,可以参阅:OpenVINO™ C# API API Documented
OpenVINO C# API Documented - Redirect
1.8 许可证书
本项目的发布受Apache 2.0 license许可认证。
1.9 贡献
如果您对OpenVINO™ 在C#使用感兴趣,有兴趣对开源社区做出自己的贡献,欢迎加入我们,一起开发OpenVINO™ C# API。
如果你对该项目有一些想法或改进思路,欢迎联系我们,指导下我们的工作。
更多推荐
所有评论(0)