JYPPX.DeploySharp
0.0.4.2
dotnet add package JYPPX.DeploySharp --version 0.0.4.2
NuGet\Install-Package JYPPX.DeploySharp -Version 0.0.4.2
<PackageReference Include="JYPPX.DeploySharp" Version="0.0.4.2" />
<PackageVersion Include="JYPPX.DeploySharp" Version="0.0.4.2" />
<PackageReference Include="JYPPX.DeploySharp" />
paket add JYPPX.DeploySharp --version 0.0.4.2
#r "nuget: JYPPX.DeploySharp, 0.0.4.2"
#:package JYPPX.DeploySharp@0.0.4.2
#addin nuget:?package=JYPPX.DeploySharp&version=0.0.4.2
#tool nuget:?package=JYPPX.DeploySharp&version=0.0.4.2
<p align="center">
<a href="./LICENSE.txt">
<img src="https://img.shields.io/github/license/guojin-yan/openvinosharp.svg">
</a>
<a >
<img src="https://img.shields.io/badge/Framework-.NET 8.0%2C%20.NET 6.0%2C%20.NET 5.0%2C%20.NET Framework 4.8%2C%20.NET Framework 4.7.2%2C%20.NET Framework 4.6%2C%20.NET Core 3.1-pink.svg">
</a>
</p>
简体中文| English
📚 Introduction
DeploySharp is a cross-platform model deployment framework designed for C# developers, offering end-to-end solutions from model loading and configuration management to inference execution. Its modular namespace architecture significantly reduces the complexity of integrating deep learning models into the C# ecosystem.
1. Architecture & Layered Design
- Root namespace
DeploySharp
serves as a unified entry point for core features (model loading, inference, etc.). - Modular sub-namespaces (e.g.,
DeploySharp.Engine
) enable clear functional layers. - Generic class designs support standard data interfaces for tasks like image processing/classification/detection.
2. Multi-Engine Support
- Native integration with OpenVINO (
OpenVinoSharp
) and ONNX Runtime. - Compatibility with YOLOv5-v12 models, Anomalib, and other mainstream architectures.
3. Cross-Platform Runtime
- Supports .NET Framework 4.8+ and .NET 6/7/8/9.
- Deep integration with .NET NuGet ecosystem.
4. High-Performance Inference
- Asynchronous operations (
System.Threading.Tasks
). - Batch/single-image inference modes.
- Rich pre-/post-processing (ImageSharp/OpenCvSharp).
5. Developer Support
- Bilingual (EN/CN) code comments and documentation.
log4net
logging (error/warning/debug levels).- Visualization tools and comprehensive code samples.
Licensed under Apache License 2.0. Future updates will expand TensorRT support and optimize heterogenous computing.
🎨Supported Models
Model Name | Model Type | OpenVINO | ONNX Runtime | TensorRT |
---|---|---|---|---|
YOLOv5 | Detection | ✅ | ✅ | ing... |
YOLOv5 | Segmentation | ✅ | ✅ | ing... |
YOLOv6 | Detection | ✅ | ✅ | ing... |
YOLOv7 | Detection | ✅ | ✅ | ing... |
YOLOv8 | Detection | ✅ | ✅ | ing... |
YOLOv8 | Segmentation | ✅ | ✅ | ing... |
YOLOv8 | Pose | ✅ | ✅ | ing... |
YOLOv8 | Oriented Bounding Boxes | ✅ | ✅ | ing... |
YOLOv9 | Detection | ✅ | ✅ | ing... |
YOLOv9 | Segmentation | ✅ | ✅ | ing... |
YOLOv10 | Detection | ✅ | ✅ | ing... |
YOLOv11 | Detection | ✅ | ✅ | ing... |
YOLOv11 | Segmentation | ✅ | ✅ | ing... |
YOLOv11 | Pose | ✅ | ✅ | ing... |
YOLOv11 | Oriented Bounding Boxes | ✅ | ✅ | ing... |
YOLOv12 | Detection | ✅ | ✅ | ing... |
Anomalib | Segmentation | ✅ | ✅ | ing... |
<img title="NuGet" src="https://s2.loli.net/2023/08/08/jE6BHu59L4WXQFg.png" alt="" width="40">NuGet Package
Core Managed Libraries
Package | Description | Link |
---|---|---|
JYPPX.DeploySharp | DeploySharp API core libraries |
Native Runtime Libraries
⚙ Installation
DeploySharp includes image processing methods such as OpenCvSharp and ImageSharp, as well as support for OpenVINO and ONNX Runtime model deployment engines. Therefore, users can combine them according to their own needs and install the corresponding VNet Package to use them out of the box. The following summarizes some commonly used scenarios for installing VNet Package:
- OpenVINO inference+OpenCvSharp image processing
JYPPX.DeploySharp
JYPPX.DeploySharp.OpenCvSharp
OpenVINO.runtime.win
OpenCvSharp4.runtime.win
- OpenVINO inference+ImageSharp image processing
JYPPX.DeploySharp
JYPPX.DeploySharp.ImageSharp
OpenVINO.runtime.win
- ONNX Runtime inference+OpenCvSharp image processing
JYPPX.DeploySharp
JYPPX.DeploySharp.OpenCvSharp
OpenCvSharp4.runtime.win
- **ONNX Runtime inference+ImageSharp image processing **
JYPPX.DeploySharp
JYPPX.DeploySharp.OpenCvSharp
- ONNX Runtime(OpenVINO) inference+ImageSharp image processing
JYPPX.DeploySharp
JYPPX.DeploySharp.ImageSharp
Intel.ML.OnnxRuntime.OpenVino
- ONNX Runtime(DML) inference+ImageSharp image processing
JYPPX.DeploySharp
JYPPX.DeploySharp.ImageSharp
Microsoft.ML.OnnxRuntime.DirectML
- ONNX Runtime(CUDA) inference+ImageSharp image processing
JYPPX.DeploySharp
JYPPX.DeploySharp.ImageSharp
Microsoft.ML.OnnxRuntime.DirectML
Due to the influence of GPU device model and software version on using CUDA to accelerate ONNX Runtime, it is necessary to download and use according to the official version correspondence provided by ONNX Runtime. Please refer to the following link for the correspondence between ONNX Runtime, CUDA, and cuDNN:
https://runtime.onnx.org.cn/docs/execution-providers/CUDA-ExecutionProvider.html#requirements
The usage methods listed above can all be installed with just one click through the VNet Package. Similarly, ONNX Runtime also supports more acceleration methods, but users need to build their own code. For the construction process and method, please refer to the official tutorial. The link is:
https://runtime.onnx.org.cn/docs/execution-providers/
🏷 Quick Start
If you don't know how to use it, use the following code to briefly understand how to use it.
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()
{
//The model and test images can be downloaded from the QQ group (945057948)
//Replace the following model path with your own model path
string modelPath = @"E:\Model\Yolo\yolov5s.onnx";
//Replace the image path below with your own image path
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()
{
//The model and test images can be downloaded from the QQ group (945057948)
//Replace the following model path with your own model path
string modelPath = @"E:\Model\Yolo\yolov5s.onnx";
//Replace the image path below with your own image path
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();
}
}
}
💻 Use Cases
For more application cases, please refer to:
Type | Framework | Link |
---|---|---|
Desktop App | .NET Framework 4.8 | DeploySharp.ImageSharp-ApplicationPlatform |
Desktop App | .NET 6.0 | DeploySharp.OpenCvSharp-ApplicationPlatform |
Console App | .NET Framework 4.8、.NET 6.0-9.0 | DeploySharp.samples |
🗂Documentation
Explore the full API: DeploySharp API Documented
🎖 Contribution
If you are interested in using Deploy Sharp in C # and are interested in contributing to the open source community, please join us to develop Deploy Sharp together.
If you have any ideas or improvement strategies for this project, please feel free to contact us for guidance on our work.
<img title="" src="https://user-images.githubusercontent.com/48054808/157835345-f5d24128-abaf-4813-b793-d2e5bdc70e5a.png" alt="" width="40"> License
The release of this project is certified under the Apache 2.0 license.
Finally, if any developers have any questions during use, please feel free to contact me.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp3.1 is compatible. |
.NET Framework | net47 is compatible. net471 is compatible. net472 is compatible. net48 is compatible. net481 is compatible. |
-
.NETCoreApp 3.1
- Clipper2 (>= 1.5.4)
- log4net (>= 3.2.0)
- Microsoft.ML.OnnxRuntime.Managed (>= 1.22.2)
- OpenVINO.CSharp.API (>= 2025.3.0.1)
- System.Text.Json (>= 8.0.5)
-
.NETFramework 4.7
- Clipper2 (>= 1.5.4)
- log4net (>= 3.2.0)
- Microsoft.ML.OnnxRuntime.Managed (>= 1.22.2)
- OpenVINO.CSharp.API (>= 2025.3.0.1)
- System.Text.Json (>= 8.0.5)
-
.NETFramework 4.7.1
- Clipper2 (>= 1.5.4)
- log4net (>= 3.2.0)
- Microsoft.ML.OnnxRuntime.Managed (>= 1.22.2)
- OpenVINO.CSharp.API (>= 2025.3.0.1)
- System.Text.Json (>= 8.0.5)
-
.NETFramework 4.7.2
- Clipper2 (>= 1.5.4)
- log4net (>= 3.2.0)
- Microsoft.ML.OnnxRuntime.Managed (>= 1.22.2)
- OpenVINO.CSharp.API (>= 2025.3.0.1)
- System.Text.Json (>= 8.0.5)
-
.NETFramework 4.8
- Clipper2 (>= 1.5.4)
- log4net (>= 3.2.0)
- Microsoft.ML.OnnxRuntime.Managed (>= 1.22.2)
- OpenVINO.CSharp.API (>= 2025.3.0.1)
- System.Text.Json (>= 8.0.5)
-
.NETFramework 4.8.1
- Clipper2 (>= 1.5.4)
- log4net (>= 3.2.0)
- Microsoft.ML.OnnxRuntime.Managed (>= 1.22.2)
- OpenVINO.CSharp.API (>= 2025.3.0.1)
- System.Text.Json (>= 8.0.5)
-
net5.0
- Clipper2 (>= 1.5.4)
- log4net (>= 3.2.0)
- Microsoft.ML.OnnxRuntime.Managed (>= 1.22.2)
- OpenVINO.CSharp.API (>= 2025.3.0.1)
- System.Text.Json (>= 8.0.5)
-
net6.0
- Clipper2 (>= 1.5.4)
- log4net (>= 3.2.0)
- Microsoft.ML.OnnxRuntime.Managed (>= 1.22.2)
- OpenVINO.CSharp.API (>= 2025.3.0.1)
- System.Text.Json (>= 8.0.5)
-
net7.0
- Clipper2 (>= 1.5.4)
- log4net (>= 3.2.0)
- Microsoft.ML.OnnxRuntime.Managed (>= 1.22.2)
- OpenVINO.CSharp.API (>= 2025.3.0.1)
- System.Text.Json (>= 8.0.5)
-
net8.0
- Clipper2 (>= 1.5.4)
- log4net (>= 3.2.0)
- Microsoft.ML.OnnxRuntime.Managed (>= 1.22.2)
- OpenVINO.CSharp.API (>= 2025.3.0.1)
- System.Text.Json (>= 8.0.5)
-
net9.0
- Clipper2 (>= 1.5.4)
- log4net (>= 3.2.0)
- Microsoft.ML.OnnxRuntime.Managed (>= 1.22.2)
- OpenVINO.CSharp.API (>= 2025.3.0.1)
- System.Text.Json (>= 8.0.5)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on JYPPX.DeploySharp:
Package | Downloads |
---|---|
JYPPX.DeploySharp.OpenCvSharp
DeploySharp is a cross-platform model deployment framework designed for C# developers, offering end-to-end solutions from model loading and configuration management to inference execution. Its modular namespace architecture significantly reduces the complexity of integrating deep learning models into the C# ecosystem. |
|
JYPPX.DeploySharp.ImageSharp
DeploySharp is a cross-platform model deployment framework designed for C# developers, offering end-to-end solutions from model loading and configuration management to inference execution. Its modular namespace architecture significantly reduces the complexity of integrating deep learning models into the C# ecosystem. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
0.0.4.2 | 25 | 10/15/2025 |
0.0.4.1 | 81 | 10/12/2025 |
0.0.4 | 306 | 10/2/2025 |
0.0.3 | 300 | 9/15/2025 |
0.0.2-beta | 198 | 9/14/2025 |
0.0.1-beta | 224 | 9/9/2025 |