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

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

3天内不再提示

C#中使用OpenVINO™:轻松集成AI模型!

jf_23871869 来源:算力魔方创始人/英特尔创 作者:算力魔方创始人 2025-02-07 14:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者:算力魔方创始人/英特尔创新大使刘力

C#不仅在PC游戏开发、大型商业系统领域应用广泛,还成为开源测控、机器视觉与运动控制,以及PC数集与分析领域中的主流开发语言!

在开源测控、机器视觉、数采与分析三大领域中,如何快速将AI模型集成到应用程序中,实现AI赋能和应用增值?最容易的方式是:在C#中,使用OpenVINO™工具套件集成AI模型。

wKgZPGelodyAIemyAAGZkiKiUys008.png

一,什么是OpenVINO™ 工具套件?

OpenVINO™ 工具套件是一个用于优化和部署人工智能(AI)模型,提升AI推理性能的开源工具集合,不仅支持以卷积神经网络(CNN)为核心组件的预测式AI模型(Predictive AI),还支持以Transformer为核心组件的生成式AI模型(Generative AI)。

OpenVINO™工具套件支持对基于PyTorch、TensorFlow、PaddlePaddle等主流深度学习框架训练好的模型进行优化,提升其在英特尔® CPU、独立显卡、集成显卡、NPU等硬件上的AI推理计算性能。

二,什么是OpenVINO™ C# API

OpenVINO™ C# API 是一个开源的 OpenVINO™ 的 .Net wrapper(包装器)项目,它基于最新的OpenVINO™ Runtime库开发,通过调用官方的OpenVINO™ C API ,允许开发者在 .NET 和 .NET Framework 环境中使用 C# 语言调用AI模型,并实现AI模型在英特尔® CPU、独立显卡、集成显卡、NPU上的推理加速。

OpenVINO™ C# API的GitHub仓:https://github.com/guojin-yan/OpenVINO-CSharp-API

wKgZO2elofmAXRBAAAGhW7QRJYs539.png

为了方便开发者使用,OpenVINO™ C# API提供了NuGet Package,可以通过NuGet管理工具直接进行安装。

三,搭建OpenVINO™ C# API开发环境

搭建OpenVINO™ C# API开发环境共分三步:

1.安装.NET 8.0

2.在VS Code中配置C#开发环境

3.使用NuGet安装OpenVINO™ C# API依赖项

本节依次介绍。

1,安装.NET 8.0:

请进入.NET官网下载地址:https://dotnet.microsoft.com/zh-cn/download,下载.NET 8.0安装包。

wKgZPGelogqAPYmuAAGoibPN98w558.png

下载完毕后,以管理员方式运行安装包,并按默认方式完成安装。

wKgZPGelohqAVtb8AAKYQ67Y3kA287.png

安装完毕后,请启动“命令提示符”,然后输入 “dotnet --info” 指令,验证安装是否成功:

wKgZPGeloiqAPZBVAAHLLmNgOu8258.png

2,在VS Code中配置C#开发环境:

VS Code(Visual Studio Code)是一款由微软开发的开源、免费、跨平台的轻量级代码编辑器;支持多种编程语言(如C、C++、C#、JavaPython、JavaScript等)的代码编辑,具备语法高亮、代码折叠、代码补全、代码重构等功能;广泛应用于各类软件开发领域。

[注意]:使用VS Studio的开发者,无需安装VS Code的插件,可略过该小节!

首先,请从:https://code.visualstudio.com/,下载并安装VS Code。

然后,启动VS Code,在“Extensions:Marketplace”中搜索关键字:“C#”,依次安装C#和C# Dev Kit插件。

wKgZO2elokCASWuwAALOUs_W-ag643.png

接着,启动“命令提示符”并输入 “dotnet new console -o hello_world -f net8.0”命令,创建一个名叫“hello_world”的C# console项目。

wKgZO2elok6AMFobAAIXIQwfTjM799.png

最后,启动VS Code,并用“File-->Open Folder...”打开hello_world文件夹,然后点击“Run Project...”按钮,若在Terminal中成功输出“Hello, World!”说明在VS Code配置C#开发环境成功!

wKgZO2elomCAMdunAAH_wgfZCAM032.png

3,使用NuGet安装OpenVINO™ C# API:

首先,启动“命令提示符”,用命令创建YOLOv8推理项目:

dotnet new console -o yolov8_async_csharp -f net8.0

然后,进入“yolov8_async_csharp”目录,使用NuGet安装OpenVINO™ C# API,命令如下:

dotnet add package OpenVINO.CSharp.API --version 2024.3.0.2 dotnet add package OpenVINO.runtime.win --version 2024.3.0.1 dotnet add package OpenVINO.CSharp.API.Extensions.OpenCvSharp --version 1.0.6.1

wKgZO2elopKAaY2KAAKh0R2Kt3I717.png

最后,使用NuGet安装OpenCvSharp4:

dotnet add package OpenCvSharp4 --version 4.9.0.20240103 dotnet add package OpenCvSharp4.runtime.win --version 4.9.0.20240103

到此,OpenVINO™ C# API开发环境搭建完毕!

四,用C# 编写OpenVINO™推理程序

首先,请从:

https://github.com/openvino-book/openvino_handbook/tree/main/chapter_5/C%23/yolov8_async_csharp,

下载范例程序Program.cs(覆盖yolov8_asysc_csharp文件夹中的Program.cs),测试视频test_video.mp4和yolov8s IR格式模型,放入yolov8_asysc_csharp文件夹中。

然后,点击“Run project”或使用快捷键“Ctrl+F5”运行程序,结果如下视频所示:

https://live.csdn.net/v/462063

五,总结

OpenVINO™ C# API 易学易用,可以方便将AI模型集成到C#应用程序中!

如果你有更好的文章,欢迎投稿!

稿件接收邮箱:nami.liu@pasuntech.com

更多精彩内容请关注“算力魔方®”!

审核编辑 黄宇

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

    关注

    89

    文章

    38161

    浏览量

    296840
  • OpenVINO
    +关注

    关注

    0

    文章

    117

    浏览量

    717
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    OpenVINO C#如何运行YOLO11实例分割模型

    代码是我在OpenVINO-CSharp-API作者开源的YOLOv8对象检测的代码基础上修改而成。
    的头像 发表于 04-29 09:30 1795次阅读
    <b class='flag-5'>OpenVINO</b> <b class='flag-5'>C#</b>如何运行YOLO11实例分割<b class='flag-5'>模型</b>

    如何在Ollama中使OpenVINO后端

    Ollama 和 OpenVINO 的结合为大型语言模型(LLM)的管理和推理提供了强大的双引擎驱动。Ollama 提供了极简的模型管理工具链,而 OpenVINO 则通过 Intel
    的头像 发表于 04-14 10:22 1135次阅读

    在Visual Studio中使OpenVINOC API时无法读取网络怎么解决?

    使用 OpenVINO C API 加载中间表示 (IR),方法是引用Hello 分类 C 样本。 使用ie_infer_request_set_blob 时收到的状态为 -1(一般错误)。
    发表于 03-07 07:01

    OpenVINO中的量化模型OpenVINO ESR模型结果不一致是怎么回事?

    将 REAL-ESRSTREAM 模型转换成 OpenVINO IR (2021.4) 并执行该模型。 能够运行 IR,但结果与 REAL-ESR 就此不同的是。
    发表于 03-06 08:11

    如何使用OpenVINO™运行对象检测模型

    无法确定如何使用OpenVINO™运行对象检测模型
    发表于 03-06 07:20

    OpenVINO™ Toolkit中如何保持模型稀疏性?

    OpenVINO™ Toolkit 中支持的优化方法,保持模型稀疏性。
    发表于 03-06 06:47

    请问使用2022.2时是否可以读取模型OpenVINO™层?

    使用 2020.3 时,使用 net.layers 和 layers.blob 读取模型OpenVINO™层。 OpenVINO™自 2021.2 OpenVINO™起,使用 202
    发表于 03-06 06:37

    创建了用于OpenVINO™推理的自定义C++和Python代码,从C++代码中获得的结果与Python代码不同是为什么?

    创建了用于OpenVINO™推理的自定义 C++ 和 Python* 代码。 在两个推理过程中使用相同的图像和模型。 从 C++ 代码
    发表于 03-06 06:22

    为什么无法在OpenVINO™ 2021.3源中使用CMAKE编译ONNX模型

    尝试从源版本 2021.3 编译OpenVINO™ 错误: ~/项目/OpenVINO/cmake-build-debug/_deps/ext_onnx-src/onnx/onnx_pb.h
    发表于 03-05 08:29

    运行时OpenVINO™找不到模型优化器,为什么?

    在运行时OpenVINO™找不到模型优化器,运行模型下载程序命令并收到错误消息: omz_downloader:找不到命令
    发表于 03-05 08:16

    通过Docker映像OpenVINO™ DL Workbench OpenVINO™安装,无法上传模型怎么解决?

    通过 Docker 映像OpenVINO™ DL Workbench OpenVINO™安装。 无法上传模型: Model cannot be downloaded due to network
    发表于 03-05 08:08

    请问是否可以在模型服务器中使用REST请求OpenVINO™预测?

    是否可以在模型服务器中使用 REST 请求OpenVINO™预测?
    发表于 03-05 08:06

    为什么无法在运行时C++推理中读取OpenVINO模型

    使用模型优化器 2021.1 版OpenVINO™转换模型 使用 Runtime 2022.3 版本在 C++ 推理实现 ( core.read_model()) 中读取
    发表于 03-05 06:17

    C#集成OpenVINO™:简化AI模型部署

    在开源测控、机器视觉、数采与分析三大领域中,如何快速将AI模型集成到应用程序中, 实现AI赋能和应用增值? 最容易的方式是:在C#中,使用
    的头像 发表于 02-17 10:03 2530次阅读
    <b class='flag-5'>C#</b><b class='flag-5'>集成</b><b class='flag-5'>OpenVINO</b>™:简化<b class='flag-5'>AI</b><b class='flag-5'>模型</b>部署

    使用OpenVINO C# API轻松部署飞桨PP-OCRv4模型

    ​ 作者:算力魔方创始人/英特尔创新大使刘力 《超4万6千星的开源OCR黑马登场,PaddleOCR凭什么脱颖而出?》 收到了读者热烈反响,很多读者提出:如何在C#中部署飞桨PP-OCRv4模型
    的头像 发表于 02-12 10:42 2023次阅读
    使用<b class='flag-5'>OpenVINO</b> <b class='flag-5'>C#</b> API<b class='flag-5'>轻松</b>部署飞桨PP-OCRv4<b class='flag-5'>模型</b>