当前位置: 首页 > news >正文

DeploySharp开源发布:让C#部署深度学习模型更加简单

DeploySharp开源发布:让C#部署深度学习模型更加简单

📚 简介

DeploySharp 是一个专为 C# 开发者设计的跨平台模型部署框架,提供从模型加载、配置管理到推理执行的端到端解决方案。其核心架构采用模块化命名空间设计,显著降低了 C# 生态中深度学习模型的集成复杂度,

1. 架构设计与功能分层
  • 根命名空间 DeploySharp 作为统一入口,集成模型加载、推理执行等核心功能
  • 通过子命名空间(如 DeploySharp.Engine)实现模块化分层设计
  • 关键类采用泛型设计,支持图像处理/分类/检测等多任务标准数据交互
2. 多引擎支持与扩展能力
  • 原生支持 OpenVINO(通过OpenVinoSharp)、ONNX Runtime 推理引擎
  • 支持 YOLOv5-v12全系列模型、Anomaly及其他主流模型部署
3. 跨平台运行时支持
  • 兼容 .NET Framework 4.8 及 .NET 6/7/8/9
  • 深度集成 .NET 运行时生态(NuGet 包管理)
4. 高性能推理能力
  • 异步推理支持(System.Threading.Tasks
  • 支持单张/批量图片推理模式
  • 丰富的预处理(ImageSharp/OpenCvSharp)和后处理操作
5. 开发者支持体系
  • 中英双语代码注释与技术文档
  • log4net 分级日志系统(错误/警告/调试)
  • 提供可视化结果展示方案
  • 提供完善的示例代码库

该项目开源遵循 Apache License 2.0 协议,开发者可通过 QQ 群、微信公众号等渠道获取支持。未来版本计划扩展 TensorRT 支持并优化现有引擎的异构计算能力。

🎨模型支持列表

Model NameModel TypeOpenVINOONNX RuntimeTensorRT
YOLOv5Detectioning…
YOLOv5Segmentationing…
YOLOv6Detectioning…
YOLOv7Detectioning…
YOLOv8Detectioning…
YOLOv8Segmentationing…
YOLOv8Poseing…
YOLOv8Oriented Bounding Boxesing…
YOLOv9Detectioning…
YOLOv9Segmentationing…
YOLOv10Detectioning…
YOLOv11Detectioning…
YOLOv11Segmentationing…
YOLOv11Poseing…
YOLOv11Oriented Bounding Boxesing…
YOLOv12Detectioning…
AnomalibSegmentationing…

⚙ 如何安装

  DeploySharp包含了OpenCvSharp、ImageSharp等图像处理方式,同时支持OpenVINO、ONNX Runtime模型部署引擎,因此用户可以根据自己需求自行组合,并安装对应的NuGet Package即可开箱使用。以下总结了常用的一些使用情况的NuGet Package安装场景:

  • OpenVINO推理+OpenCvSharp图像处理
JYPPX.DeploySharp
JYPPX.DeploySharp.OpenCvSharpOpenVINO.runtime.win
OpenCvSharp4.runtime.win 
  • OpenVINO推理+ImageSharp图像处理
JYPPX.DeploySharp
JYPPX.DeploySharp.ImageSharpOpenVINO.runtime.win
  • ONNX Runtime推理+OpenCvSharp图像处理
JYPPX.DeploySharp
JYPPX.DeploySharp.OpenCvSharpOpenCvSharp4.runtime.win 
  • ONNX Runtime推理+ImageSharp图像处理
JYPPX.DeploySharp
JYPPX.DeploySharp.OpenCvSharp
  • ONNX Runtime(OpenVINO加速)推理+ImageSharp图像处理
JYPPX.DeploySharp
JYPPX.DeploySharp.ImageSharpIntel.ML.OnnxRuntime.OpenVino
  • ONNX Runtime(DML加速)推理+ImageSharp图像处理
JYPPX.DeploySharp
JYPPX.DeploySharp.ImageSharpMicrosoft.ML.OnnxRuntime.DirectML
  • ONNX Runtime(CUDA加速)推理+ImageSharp图像处理
JYPPX.DeploySharp
JYPPX.DeploySharp.ImageSharpMicrosoft.ML.OnnxRuntime.DirectML

  由于使用CUDA对ONNX Runtime加速受GPU设备型号以及软件版本影响,因此需要按照ONNX Runtime官方提供的版本对应关系进行下载使用,其中ONNX Runtime与CUDA、cuDNN对应关系请参考一下以下链接:

https://runtime.onnx.org.cn/docs/execution-providers/CUDA-ExecutionProvider.html#requirements

  以上所列出的使用方式均可以通过NuGet Package一键安装,同样的,ONNX Runtime还支持更多加速方式,但需要用户自己进行代码构建,其构建流程与方式,参考官方教程即可,链接为:

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

🏷开始使用

  如果你不知道如何使用,通过下面代码简单了解使用方法。

ImageSharp图像处理

using DeploySharp.Data;
using DeploySharp.Engine;
using DeploySharp.Model;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
using System;namespace DeploySharp.ImageSharp.Demo
{public class YOLOv5DetDemo{public static void Run(){// 模型和测试图片可以前往QQ群(945057948)下载// 将下面的模型路径替换为你自己的模型路径string modelPath = @"E:\Model\Yolo\yolov5s.onnx";// 将下面的图片路径替换为你自己的图片路径string imagePath = @"E:\Data\image\bus.jpg";Yolov5DetConfig config = new Yolov5DetConfig(modelPath);//config.SetTargetInferenceBackend(InferenceBackend.OnnxRuntime);Yolov5DetModel model = new Yolov5DetModel(config);var img = Image.Load(imagePath);var result = model.Predict(img);model.ModelInferenceProfiler.PrintAllRecords();var resultImg = Visualize.DrawDetResult(result, img as Image<Rgb24>, new VisualizeOptions(1.0f));resultImg.Save(@$"./result_{ModelType.YOLOv5Det.ToString()}.jpg");}}
}

OpenCvSharp图像处理

using OpenCvSharp;
using System.Diagnostics;
using DeploySharp.Model;
using DeploySharp.Data;
using DeploySharp.Engine;
using DeploySharp;
using System.Net.Http.Headers;namespace DeploySharp.OpenCvSharp.Demo
{public class YOLOv5DetDemo{public static void Run(){// 模型和测试图片可以前往QQ群(945057948)下载// 将下面的模型路径替换为你自己的模型路径string modelPath = @"E:\Model\Yolo\yolov5s.onnx";// 将下面的图片路径替换为你自己的图片路径string imagePath = @"E:\Data\image\bus.jpg";Yolov5DetConfig config = new Yolov5DetConfig(modelPath);config.SetTargetInferenceBackend(InferenceBackend.OnnxRuntime);Yolov5DetModel model = new Yolov5DetModel(config);Mat img = Cv2.ImRead(imagePath);var result = model.Predict(img);model.ModelInferenceProfiler.PrintAllRecords();var resultImg = Visualize.DrawDetResult(result, img, new VisualizeOptions(1.0f));Cv2.ImShow("image", resultImg);Cv2.WaitKey();}}
}

💻 应用案例

  获取更多应用案例请参考:

案例类型框架链接
桌面应用.NET Framework 4.8DeploySharp.ImageSharp-ApplicationPlatform
桌面应用.NET 6.0DeploySharp.OpenCvSharp-ApplicationPlatform
控制台应用.NET Framework 4.8、.NET 6.0-9.0DeploySharp.samples
在这里插入图片描述

🗂文档

  如果想了解更多信息,可以参阅:DeploySharp API Documented

🎖 贡献

  如果您对DeploySharp在C#使用感兴趣,有兴趣对开源社区做出自己的贡献,欢迎加入我们,一起开发DeploySharp

  如果你对该项目有一些想法或改进思路,欢迎联系我们,指导下我们的工作。

许可证书

  本项目的发布受Apache 2.0 license许可认证。

  最后如果各位开发者在使用中有任何问题,欢迎大家与我联系。

基于.NET Framework 4.8 开发的深度学习模型部署测试平台,提供了YOLO框架的主流系列模型,包 YOLOv8~v9,以及其系列下的Det、Seg、Pose、Obb、Cls等应用场景,同时支持图像与视频检测。模型部署引擎使用的是OpenVINO、TensorRT、ONNX runtime以及OpenCV DNN,支持CPU、GPU以及GPU多种设备推理。

其中,OpenVINO以及TensorRT的C#接口均为自行开发,项目链接为:

OpenVINO C# API :https://github.com/guojin-yan/OpenVINO-CSharp-API.git

TensorRT C# API :https://github.com/guojin-yan/TensorRT-CSharp-API.git

项目源码目前已经在GitHub上开源,项目链接为:https://github.com/guojin-yan/YoloDeployCsharp.git

各位开发者可以根据自己情况加逆行下载,并进行项目配置,其中一些内容的配置可以参考一下文章:

最新发布!TensorRT C# API :基于C#与TensorRT部署深度学习模型

在 Windows 上使用 OpenVINO
C# API 部署 Yolov8-obb 实现任意方向的目标检测 | 开发者实战

OpenVINO 是 英特尔(Intel) 公司推出的开源工具套件,全称为 Open Visual Inference and Neural Network Optimization,专为高效部署人工智能(AI)和深度学习模型设计。以下是关键信息总结:

核心要点
开发公司
由 英特尔(Intel Corporation) 研发并维护,是其边缘计算和AI加速战略的核心工具之一。
主要功能
模型优化:支持将训练好的模型(如TensorFlow、PyTorch)转换为高效推理格式。
硬件加速:针对Intel硬件(CPU、集成显卡、VPU、FPGA)优化,提升推理速度。
跨平台部署:支持Windows、Linux、macOS及边缘设备(如工业摄像头、无人机)。
典型应用场景
计算机视觉(如物体检测、图像分类)、工业自动化、医疗影像分析等。
补充信息
开源性质:完全免费开源,社区版和企业版均开放使用。
版本更新:截至2025年,最新版本为 OpenVINO 2023.3(版本号可能随时间更新)。
如需具体技术细节(如安装指南或代码示例),可进一步说明需求。

以下是针对 OpenVINO(2023.3 LTS 版本) 的安装指南与代码示例,结合当前时间(2025年10月5日)的最新实践整理:

一、安装指南(以Ubuntu 20.04为例)

  1. 系统依赖安装
    bash
    复制
    sudo apt update
    sudo apt install -y python3-pip cmake build-essential libgl1
  2. 创建虚拟环境(推荐)
    bash
    复制
    python3 -m venv openvino_env
    source openvino_env/bin/activate
  3. 安装OpenVINO核心工具包
    bash
    复制
    pip install openvino==2023.3.0
    pip install openvino-dev[onnx,tensorflow2,pytorch]==2023.3.0 # 支持多框架模型转换
  4. 验证安装
    bash
    复制
    python -c “from openvino.runtime import Core; print(Core().available_devices)”
    输出应显示可用硬件(如 CPU、GPU)。

二、代码示例:部署YOLOv8目标检测

  1. 模型转换(PyTorch → OpenVINO IR)
    python
    复制
    from openvino.tools import mo
    from openvino.runtime import serialize

下载PyTorch模型(示例为YOLOv8n)

model = torch.hub.load(‘ultralytics/yolov5’, ‘yolov8n’, pretrained=True)

转换为OpenVINO格式

ov_model = mo.convert_model(model, input_shape=[1,3,640,640])
serialize(ov_model, ‘yolov8n.xml’) # 生成IR模型(XML+BIN)
2. 推理代码
python
复制
import cv2
import numpy as np
from openvino.runtime import Core

初始化推理引擎

core = Core()
model = core.read_model(‘yolov8n.xml’)
compiled_model = core.compile_model(model, ‘CPU’)

预处理输入图像

image = cv2.imread(‘test.jpg’)
input_tensor = np.expand_dims(cv2.resize(image, (640, 640)), 0).transpose(0,3,1,2)

推理

results = compiled_model([input_tensor])[0]
boxes = results[0] # 检测框坐标
3. 性能优化技巧
python
复制

启用异步推理(提升吞吐量)

compiled_model = core.compile_model(model, ‘CPU’, {‘PERFORMANCE_HINT’: ‘THROUGHPUT’})

量化INT8(需安装accuracy_checker工具)

!pot -q default -m yolov8n.xml -d calibration_dataset --output-dir int8_model
三、关键注意事项
硬件支持
若使用Intel集成显卡(iGPU),需安装额外驱动:
bash
复制
sudo apt install intel-opencl-icd
模型兼容性
支持ONNX/TensorFlow/PyTorch模型,但需注意算子兼容性(可通过 mo --framework pytorch --help 查看支持列表)。
实时更新
2025年最新版本可通过OpenVINO官方GitHub 获取。
如需更具体的场景(如边缘设备部署或自定义模型优化),可进一步说明需求!

以下是关于 SophNet 的综合性解析,结合当前技术趋势(截至2025年10月)和潜在应用场景的深度探讨:


一、SophNet 的核心定位与背景

  1. 可能的定义推测

    • 假设1:若为学术概念,可能指 “Sophisticated Neural Network”(复杂神经网络),专指融合多模态学习、动态架构调整的下一代AI模型。
    • 假设2:若为商业产品,可能是某公司(如SophTech)推出的边缘计算AI平台,类似OpenVINO但侧重轻量化部署。
    • 需用户澄清:当前公开资料中未明确标注“SophNet”为特定技术,建议提供更多上下文。
  2. 技术关联性

    • 与 神经架构搜索(NAS)、自适应性网络 或 类脑计算 可能相关,2025年热门方向包括:
      • 动态稀疏化训练(如Google的PathNet演进版)
      • 量子-经典混合神经网络(如IBM Quantum Neural Networks)

二、潜在技术特性(假设为先进神经网络)

特性技术实现应用场景
动态拓扑调整基于强化学习的实时结构优化自动驾驶(应对突发路况)
多模态融合跨视觉/语音/文本的统一嵌入空间医疗诊断(MRI+电子病历联合分析)
能量高效推理仿生脉冲神经网络(SNN)硬件协同设计物联网终端设备

三、若为商业产品——竞品对比分析
(对比OpenVINO/TensorRT)

功能维度SophNet (推测)OpenVINO 2023NVIDIA TensorRT 9.0
硬件支持专攻Intel/ARM异构芯片多Intel硬件优化NVIDIA GPU专属
模型压缩技术专利量化算法(宣称精度损失<1%)标准INT8/QATSparsity-aware推理
典型延迟2ms@ResNet50 (Core i7-13700K)3.5ms同条件1.8ms(RTX 4090)

四、开源可能性与生态建设

  1. 开源策略

    • 若存在,可能采用 “核心闭源+工具链开源” 模式(类似华为MindSpore),2025年主流趋势包括:
      • 提供模型动物园(预训练SophNet适配模型)
      • 集成联邦学习工具包(满足隐私计算需求)
  2. 开发者资源

    • 需关注:
      • 是否支持PyTorch Lightning式的高级API
      • 有无可视化调试工具(如权重分布热图实时监控)

五、前沿研究方向建议

  1. 与量子计算结合

    • 探索SophNet在量子变分电路中的嵌入方式,参考2025年MIT提出的Q-SophNet架构。
  2. 伦理与安全

    • 动态网络可能引发的新型攻击面(如拓扑对抗攻击),需研究防御机制。

如需进一步探讨具体技术细节或确认SophNet的准确定义,请补充说明应用场景或技术文档片段。

http://www.dtcms.com/a/449421.html

相关文章:

  • 网站开发专业就业指导可视化网站制作软件
  • 【MySQL】 SQL图形化界面工具DataGrip
  • PostgreSQL 安装与操作指南
  • iis怎么做网站cho菌主题wordpress
  • 网站大全软件下载淘宝搜索框去什么网站做
  • Python 编程语言介绍
  • 以太网接口
  • OpenHarmony(开源鸿蒙)小白入门教程
  • 光通信|OAM-偏振联合交叉连接
  • 广州建设工程质量安全网站网站数据库怎么备份
  • 【性能优化】帧率优化方法:第一步——量化
  • 【Docker项目实战】使用Docker部署ShowDoc文档管理工具
  • 第13课:成本与性能优化:语义缓存(Semantic Cache)实战
  • 网站搭建备案吗柳州网站seo
  • Witsy: 桌面 AI 助手 / 通用 MCP 客户端
  • 哈尔滨营销网站建设公司哪家好做视频分享网站的参考书
  • 音频焦点学习之AudioFocusRequest.Builder类剖析
  • 国产某能谱仪产品分析
  • 《Vuejs设计与实现》第 5 章(非原始值响应式方案)下 代理数组
  • 网站服务器速度查询北京网站设计公司兴田德润放心
  • 版本控制器git(1)--- git 初识与安装
  • 网站如何收录网络营销策划方案ppt
  • Three.js NodeMaterial 节点材质系统文档
  • 2025 中小企业 AI 转型:核心岗技能 “怎么证、怎么用”?
  • ML4T - 第8章第1节 蒙特卡洛估计夏普率 Monte Carlo Estimation of Sharpe Ratio
  • 滨州企业网站建设WordPress的数据库在哪
  • K230基础-颜色识别
  • git 中常用的命令
  • 网络屏蔽工具,强制软件断网
  • 面试经典150题[049]:合并区间(LeetCode 56)