点击蓝字
关注我们,让开发变得更有趣
作者 | 颜国进 英特尔物联网创新大使
OpenVINO™
版本更新
各位开发者大家好,目前 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# 常见框架,欢迎大家使用:
本次更新主要更新了以下包:
下图是目前已经开发和上传的 NuGet Package,有一些版本目前只支持一些老版本,因此大家根据自己需要进行使用:
以上是本次更新内容,欢迎大家使用,有什么使用问题可以在群里进行提问和交流。
OpenVINO™
简介
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# 语言实现深度学习模型在指定平台推理加速。
OpenVINO™
NuGet Package
1. Core Managed Libraries
2. Native Runtime Libraries
OpenVINO™
如何安装
以下提供了 OpenVINO™ C# API 在不同平台的安装方法,可以根据自己使用平台进行安装。
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
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
3. Mac OS
通过dotnet add package指令安装以下程序包:
dotnet add package OpenVINO.CSharp.API
dotnet add package OpenVINO.runtime.macos-arm64
OpenVINO™
开始使用
使用方法:
如果你不知道如何使用,通过下面代码简单了解使用方法。
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™
应用案例
获取更多应用案例请参考:OpenVINO-CSharp-API-Samples
https://github.com/guojin-yan/OpenVINO-CSharp-API-Samples
OpenVINO™
API 文档
如果想了解更多信息,可以参阅:OpenVINO™ C# API API Documented
https://guojin-yan.github.io/OpenVINO-CSharp-API.docs/index.html
OpenVINO™
许可证书
本项目的发布受 Apache 2.0 license 许可认证。
OpenVINO™
贡献
如果您对 OpenVINO™ 在C# 使用感兴趣,有兴趣对开源社区做出自己的贡献,欢迎加入我们,一起开发 OpenVINO™ C# API。
如果你对该项目有一些想法或改进思路,欢迎联系我们,指导下我们的工作。
OpenVINO™
---------------------------------------
*OpenVINO and the OpenVINO logo are trademarks of Intel Corporation or its subsidiaries.
-----------------------------
OpenVINO 中文社区
微信号 : openvinodev
B站:OpenVINO中文社区
“开放、开源、共创”
致力于通过定期举办线上与线下的沙龙、动手实践及开发者交流大会等活动,促进人工智能开发者之间的交流学习。
○ 点击 “ 在看 ”,让更多人看见