【DeploySharp 】基于DeploySharp 的深度学习模型部署测试平台:安装和使用流程

【投稿赢 iPhone 17】「我的第一个开源项目」故事征集:用代码换C位出道! 10w+人浏览 1.7k人参与

部署运行你感兴趣的模型镜像

1. 程序获取和下载

  基于DeploySharp 开发的深度学习模型部署测试平台,提供了YOLO框架的主流系列模型,包括YOLOv5~v13,以及其系列下的Detection、Segmentation、Oriented Bounding Box、Human Pose Estimation等应用场景。模型部署引擎支持OpenVINO™、ONNX runtime,支持CPU、IGPU以及GPU多种设备推理。项目链接为:

https://github.com/guojin-yan/DeploySharp/tree/DeploySharpV1.0/applications

  如果你想快速使用该平台,可以加入QQ技术交流群通过群文件下载,或者通过GitHub在DeploySharp 项目中下载。

 git clone https://github.com/guojin-yan/DeploySharp.git
 cd DeploySharp/applications

  打开指定目录后,直接打开DeploySharp-Applications.sln解决方案即可。

image-20251003123525415

  打开解决方案后,资源管理器中有两个项目,一个是.NET 6.0框架,一个是.NET Framework 4.8框架,用户可以根据自己需求进行运行。

image-20251003123554619

  程序运行后页面如下图所示:

image-20251002182043813

2. 平台介绍

2.1 支持的模型选项

基于DeploySharp 开发的深度学习模型部署测试平台所支持的模型列表与DeploySharp 库一致,后续会跟着DeploySharp 迭代进行同步更新,具体支持的模型:

image-20251003131537123

开发者在使用时,可以根据自己需求进行选择,但在使用时,模型路径“Model Path”选择的模型类型,要和“Model Type保持一致,否者程序运行可能出差或者结果出现错误。

2.2 支持的推理引擎工具

基于DeploySharp 开发的深度学习模型部署测试平台所支持多种推理引擎,其中已经开发完成并已经支持的有OpenVINO和ONNX Runtime,其中TensorRT正在开发中,不日后会完成支持。

image-20251003131610600

其中当推理设备选择ONNX Runtime时,还可以选择ONNX Runtime运行的推理引擎,支持的内容如下图所示:

image-20251003131828937

​ ONNX Runtime支持的更多加速方式,需要用户自己进行代码构建,其构建流程与方式,参考官方教程即可,链接为:

https://runtime.onnx.org.cn/docs/execution-providers/

2.3 支持的推理设备

同时用户还可以选择不同的推理设备,包括AUTO、CPU、GPU0、GPU1、NPU,其中GPU0、GPU1表示的含义要在使用的推理引擎工具中确定。

image-20251003131706230

3. 推理引擎和设备匹配使用

推理引擎推理设备ONNX加速
OpenVINOAUTO,CPU,GPU0(Intel 集显),GPU1(Intel 独显),NPUDefault
ONNX RuntimeCPUDefault
ONNX RuntimeAUTO,CPU,GPU0(Intel 集显),GPU1(Intel 独显),NPUOpenVINO
ONNX RuntimeGPU0(英伟达独显),GPU1(英伟达独显)Cuda
ONNX RuntimeGPU0,GPU1DML

4. 程序运行示例

在对应的项目中,图像处理库已经安装,不同项目就是使用的不同图像处理库,下面演示使用不同的模型推理引擎使用流程。

4.1 OpenVINO推理

所下载的项目中已经配置好了OpenVINO环境,选择模型和图片后,直接运行即可。推理结果如下图所示:

image-20251003141905755

如果使用的是.NET Framework 4.8框架,在程序运行前,请卸载并重新安装一下OpenVINO.runtime.win NuGet Package,重新生成项目后,进入到项目bin/Debug或者bin/Release目录,找到该目录下的文件夹dll/win-x64,在该目录下可以看到openvino_c.dll文件,然后将该目录下所有文件,复制到bin/Debug或者bin/Release目录下,重新再生成一下项目。如果使用的.NET 6.0框架,

4.2 ONNX Runtime推理

如果只是用ONNX Runtime推理,不需要安装其他的依赖既可以使用,默认只能使用CPU推理,如下图所示:

image-20251003143004837

4.3 ONNX Runtime推理 + OpenVINO加速

如果是用ONNX Runtime推理并配合OpenVINO加速,则需要安装额外的依赖库:

Intel.ML.OnnxRuntime.OpenVino

安装完成后,运行程序即可,其中原生OpenVINO支持的推理设备AUTO、CPU、GPU0(Intel 集显)、GPU1(Intel 独显)、NPU,在此处均可以使用,如下图所示:

image-20251003144046348

如果使用的是.NET Framework 4.8框架,安装完Intel.ML.OnnxRuntime.OpenVino后,如果依旧报错:”无法在 DLL“onnxruntime”中找到名为“OrtSessionOptionsAppendExecutionProvider_OpenVINO”的入口点。”,可以找到Intel.ML.OnnxRuntime.OpenVino包目录,然后将该目录下的所有dll文件,复制到项目的bin/Debug或者bin/Release目录下即可。

4.4 ONNX Runtime推理 + DML加速

如果是用ONNX Runtime推理并配合DML加速,则需要安装额外的依赖库:

Microsoft.ML.OnnxRuntime.DirectML

安装完成后,运行程序即可,此处可以使用GPU、GPU1,如下图所示:

image-20251003145255956

  以上便是基于DeploySharp 开发的深度学习模型部署测试平台的安装和使用教程。最后如果各位开发者在使用中有任何问题,欢迎大家与我联系。

image-20250224211044113

您可能感兴趣的与本文相关的镜像

Yolo-v5

Yolo-v5

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

VS2022 YOLOv5 实例分割介绍 YOLOv5 是一个快速且高效的实时目标检测框架,由 Ultralytics 团队维护。虽然 YOLOv5 最初主要用于目标检测任务,但它通过结合其他技术(如 Mask R-CNN 的实例分割模块),可以扩展到实例分割任务中。以下是对 YOLOv5 实例分割的详细介绍: 1. 实例分割简介 实例分割是一种计算机视觉任务,旨在同时检测图像中的对象并为每个对象生成精确的像素级掩码。与语义分割不同,实例分割不仅区分类别,还区分不同的实例(例如,将同一类别的两个对象区分开来)。 2. YOLOv5 实例分割的实现方式 YOLOv5 实例分割的核心思想是将目标检测与掩码预测结合起来,具体实现方式如下: 基于检测框的掩码生成:首先通过 YOLOv5 框架检测目标,并获取每个目标的边界框。 掩码预测模块:在检测的基础上,增加一个掩码分支,用于为每个检测框生成对应的像素级掩码。 融合机制:将检测框的定位信息与掩码分支的像素级信息结合起来,从而实现精准的实例分割。 3. YOLOv5 实例分割的模型架构 YOLOv5 实例分割的模型通常是在基础 YOLOv5 模型上进行扩展,主要包括以下几个模块: 主干网络:用于提取特征图(如 YOLOv5 中的 CSPDarknet53 或 EfficientNet)。 FPN(Feature Pyramid Network):用于多尺度特征融合。 检测头:包含分类分支、回归分支掩码分支。 掩码分支:负责生成像素级掩码,通常使用 U-Net 或类似结构。 4. YOLOv5 实例分割的优势 高效性:YOLOv5 以其快速推理速度著称,在实例分割任务中仍能保持较高的效率。 灵活性:支持多种模型大小(如 YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x),适应不同硬件环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

椒颜皮皮虾྅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值