作者:算力魔方創(chuàng)始人/英特爾創(chuàng)新大使劉力
C#不僅在PC游戲開發(fā)、大型商業(yè)系統(tǒng)領(lǐng)域應(yīng)用廣泛,還成為開源測(cè)控、機(jī)器視覺(jué)與運(yùn)動(dòng)控制,以及PC數(shù)集與分析領(lǐng)域中的主流開發(fā)語(yǔ)言!
在開源測(cè)控、機(jī)器視覺(jué)、數(shù)采與分析三大領(lǐng)域中,如何快速將AI模型集成到應(yīng)用程序中,實(shí)現(xiàn)AI賦能和應(yīng)用增值?最容易的方式是:在C#中,使用OpenVINO?工具套件集成AI模型。
一,什么是OpenVINO? 工具套件?
OpenVINO? 工具套件是一個(gè)用于優(yōu)化和部署人工智能(AI)模型,提升AI推理性能的開源工具集合,不僅支持以卷積神經(jīng)網(wǎng)絡(luò)(CNN)為核心組件的預(yù)測(cè)式AI模型(Predictive AI),還支持以Transformer為核心組件的生成式AI模型(Generative AI)。
OpenVINO?工具套件支持對(duì)基于PyTorch、TensorFlow、PaddlePaddle等主流深度學(xué)習(xí)框架訓(xùn)練好的模型進(jìn)行優(yōu)化,提升其在英特爾? CPU、獨(dú)立顯卡、集成顯卡、NPU等硬件上的AI推理計(jì)算性能。
二,什么是OpenVINO? C# API?
OpenVINO? C# API 是一個(gè)開源的 OpenVINO? 的 .Net wrapper(包裝器)項(xiàng)目,它基于最新的OpenVINO? Runtime庫(kù)開發(fā),通過(guò)調(diào)用官方的OpenVINO? C API ,允許開發(fā)者在 .NET 和 .NET Framework 環(huán)境中使用 C# 語(yǔ)言調(diào)用AI模型,并實(shí)現(xiàn)AI模型在英特爾? CPU、獨(dú)立顯卡、集成顯卡、NPU上的推理加速。
OpenVINO? C# API的GitHub倉(cāng):https://github.com/guojin-yan/OpenVINO-CSharp-API
為了方便開發(fā)者使用,OpenVINO? C# API提供了NuGet Package,可以通過(guò)NuGet管理工具直接進(jìn)行安裝。
三,搭建OpenVINO? C# API開發(fā)環(huán)境
搭建OpenVINO? C# API開發(fā)環(huán)境共分三步:
1.安裝.NET 8.0
2.在VS Code中配置C#開發(fā)環(huán)境
3.使用NuGet安裝OpenVINO? C# API依賴項(xiàng)
本節(jié)依次介紹。
1,安裝.NET 8.0:
請(qǐng)進(jìn)入.NET官網(wǎng)下載地址:https://dotnet.microsoft.com/zh-cn/download,下載.NET 8.0安裝包。
下載完畢后,以管理員方式運(yùn)行安裝包,并按默認(rèn)方式完成安裝。
安裝完畢后,請(qǐng)啟動(dòng)“命令提示符”,然后輸入 “dotnet --info” 指令,驗(yàn)證安裝是否成功:
2,在VS Code中配置C#開發(fā)環(huán)境:
VS Code(Visual Studio Code)是一款由微軟開發(fā)的開源、免費(fèi)、跨平臺(tái)的輕量級(jí)代碼編輯器;支持多種編程語(yǔ)言(如C、C++、C#、Java、Python、JavaScript等)的代碼編輯,具備語(yǔ)法高亮、代碼折疊、代碼補(bǔ)全、代碼重構(gòu)等功能;廣泛應(yīng)用于各類軟件開發(fā)領(lǐng)域。
[注意]:使用VS Studio的開發(fā)者,無(wú)需安裝VS Code的插件,可略過(guò)該小節(jié)!
首先,請(qǐng)從:https://code.visualstudio.com/,下載并安裝VS Code。
然后,啟動(dòng)VS Code,在“Extensions:Marketplace”中搜索關(guān)鍵字:“C#”,依次安裝C#和C# Dev Kit插件。
接著,啟動(dòng)“命令提示符”并輸入 “dotnet new console -o hello_world -f net8.0”命令,創(chuàng)建一個(gè)名叫“hello_world”的C# console項(xiàng)目。
最后,啟動(dòng)VS Code,并用“File-->Open Folder...”打開hello_world文件夾,然后點(diǎn)擊“Run Project...”按鈕,若在Terminal中成功輸出“Hello, World!”說(shuō)明在VS Code配置C#開發(fā)環(huán)境成功!
3,使用NuGet安裝OpenVINO? C# API:
首先,啟動(dòng)“命令提示符”,用命令創(chuàng)建YOLOv8推理項(xiàng)目:
dotnet new console -o yolov8_async_csharp -f net8.0
然后,進(jìn)入“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
最后,使用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開發(fā)環(huán)境搭建完畢!
四,用C# 編寫OpenVINO?推理程序
首先,請(qǐng)從:
https://github.com/openvino-book/openvino_handbook/tree/main/chapter_5/C%23/yolov8_async_csharp,
下載范例程序Program.cs(覆蓋yolov8_asysc_csharp文件夾中的Program.cs),測(cè)試視頻test_video.mp4和yolov8s IR格式模型,放入yolov8_asysc_csharp文件夾中。
然后,點(diǎn)擊“Run project”或使用快捷鍵“Ctrl+F5”運(yùn)行程序,結(jié)果如下視頻所示:
https://live.csdn.net/v/462063
五,總結(jié)
OpenVINO? C# API 易學(xué)易用,可以方便將AI模型集成到C#應(yīng)用程序中!
如果你有更好的文章,歡迎投稿!
稿件接收郵箱:nami.liu@pasuntech.com
更多精彩內(nèi)容請(qǐng)關(guān)注“算力魔方?”!
審核編輯 黃宇
-
AI
+關(guān)注
關(guān)注
88文章
35194瀏覽量
280308 -
OpenVINO
+關(guān)注
關(guān)注
0文章
115瀏覽量
488
發(fā)布評(píng)論請(qǐng)先 登錄
OpenVINO C#如何運(yùn)行YOLO11實(shí)例分割模型

如何在Ollama中使用OpenVINO后端
OpenVINO中的量化模型與OpenVINO ESR模型結(jié)果不一致是怎么回事?
如何使用OpenVINO?運(yùn)行對(duì)象檢測(cè)模型?
請(qǐng)問(wèn)使用2022.2時(shí)是否可以讀取模型OpenVINO?層?
創(chuàng)建了用于OpenVINO?推理的自定義C++和Python代碼,從C++代碼中獲得的結(jié)果與Python代碼不同是為什么?
運(yùn)行時(shí)OpenVINO?找不到模型優(yōu)化器,為什么?
通過(guò)Docker映像OpenVINO? DL Workbench OpenVINO?安裝,無(wú)法上傳模型怎么解決?
請(qǐng)問(wèn)是否可以在模型服務(wù)器中使用REST請(qǐng)求OpenVINO?預(yù)測(cè)?
為什么無(wú)法在運(yùn)行時(shí)C++推理中讀取OpenVINO?模型?
C#集成OpenVINO?:簡(jiǎn)化AI模型部署

使用OpenVINO C# API輕松部署飛槳PP-OCRv4模型

使用OpenVINO Model Server在哪吒開發(fā)板上部署模型

使用OpenVINO C# API部署YOLO-World實(shí)現(xiàn)實(shí)時(shí)開放詞匯對(duì)象檢測(cè)

評(píng)論