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
    +关注

    关注

    91

    文章

    41115

    浏览量

    302608
  • OpenVINO
    +关注

    关注

    0

    文章

    118

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AI模型微调企业项目实战课

    自主可控大模型:企业微调实战课,筑牢未来 AI 底座 在人工智能席卷全球商业版图的今天,企业对大模型(LLM)的态度已经从“新奇观望”转变为“全面拥抱”。然而,随着应用层面的不断深入,一个严峻
    发表于 04-16 18:48

    模型 ai coding 比较

    序 我主要用途是 ai coding,从各种渠道获取到了很多 不同的大模型排序 最多的是 opus 4.6 > k2.5 > glm5 >
    发表于 02-19 13:43

    使用NORDIC AI的好处

    Connect SDK :提供统一的 C 运行时、DSP 库和示例工程,方便在 Nordic SoC 上集成和运行模型。[Edge AI Add-on 文档; Neuton
    发表于 01-31 23:16

    C#上位机实战开发指南

    电子发烧友网站提供《C#上位机实战开发指南.pdf》资料免费下载
    发表于 01-11 17:15 6次下载

    AI智能体开发C#软件的临时方案

    AI智能体 (Agent) 可以帮你生成完整的C# 工程,包括主体代码、WinForm界面设计和引用添加。但是目前Visual Studio (VS) 的Agent功能好像还不太完善,时常出一些奇怪
    的头像 发表于 12-30 10:50 944次阅读
    <b class='flag-5'>AI</b>智能体开发<b class='flag-5'>C#</b>软件的临时方案

    低成本AI边缘计算盒子DIY:基于迅为RK3568和开源模型轻松玩转智能识别

    低成本AI边缘计算盒子DIY:基于迅为RK3568和开源模型轻松玩转智能识别
    的头像 发表于 11-12 13:42 2030次阅读
    低成本<b class='flag-5'>AI</b>边缘计算盒子DIY:基于迅为RK3568和开源<b class='flag-5'>模型</b>,<b class='flag-5'>轻松</b>玩转智能识别

    如何在vivadoHLS中使用.TLite模型

    本帖欲分享如何在vivadoHLS中使用.TLite模型。在Vivado HLS中导入模型后,需要设置其输入和输出接口以与您的设计进行适配。 1. 在Vivado HLS项目中导入模型
    发表于 10-22 06:29

    AI模型的配置AI模型该怎么做?

    STM32可以跑AI,这个AI模型怎么搞,知识盲区
    发表于 10-14 07:14

    【内测活动同步开启】这么小?这么强?新一代大模型MCP开发板来啦!

    噪,无惧嘈杂环境 云端接入小聆AI轻松实现个性化定制 搭载领先大模型全链路技术:小聆AI 智能语音交互方案 集成情绪感知与表达 :支持情感
    发表于 09-25 11:47

    无法在NPU上推理OpenVINO™优化的 TinyLlama 模型怎么解决?

    在 NPU 上推断 OpenVINO™优化的 TinyLlama 模型。 遇到的错误: get_shape was called on a descriptor::Tensor with dynamic shape
    发表于 07-11 06:58

    无法将Tensorflow Lite模型转换为OpenVINO™格式怎么处理?

    将 Tensorflow Lite 模型转换为 OpenVINO™ 格式。 遇到的错误: FrontEnd API failed with OpConversionFailure:No translator found for TFLite_Detection_PostP
    发表于 06-25 08:27

    使用Openvino™ GenAI运行Sdxl Turbo模型时遇到错误怎么解决?

    使用 OpenVINO™ GenAI 运行 SDXL Turbo 模型。 遇到的错误: RuntimeError :- Check ov_tokenizer || ov_detokenizer Neither tokenizer nor detokenizer model
    发表于 06-24 06:38

    无法将Openvino™ 2025.0与onnx运行时Openvino™ 执行提供程序 1.16.2 结合使用,怎么处理?

    使用OpenVINO™与英特尔 i5-8500 CPU 和超核处理器 630 iGPU 一起部署模型。 使用了 Microsoft.ML.OnnxRuntime.OpenVino
    发表于 06-24 06:31

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

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