IntptrMax.YoloSharp
1.0.0
dotnet add package IntptrMax.YoloSharp --version 1.0.0
NuGet\Install-Package IntptrMax.YoloSharp -Version 1.0.0
<PackageReference Include="IntptrMax.YoloSharp" Version="1.0.0" />
paket add IntptrMax.YoloSharp --version 1.0.0
#r "nuget: IntptrMax.YoloSharp, 1.0.0"
// Install IntptrMax.YoloSharp as a Cake Addin #addin nuget:?package=IntptrMax.YoloSharp&version=1.0.0 // Install IntptrMax.YoloSharp as a Cake Tool #tool nuget:?package=IntptrMax.YoloSharp&version=1.0.0
YoloSharp
Train Yolo model in C# with TorchSharp. With the help of this project you won't have to transform .pt model to onnx, and can train your own model in C#.
Feature
- Written in C# only.
- Train and predict your own model.
- Support Yolov5, Yolov5u, Yolov8 and Yolov11 now.
- Support n/s/m/l/x size.
- Support LetterBox and Mosaic4 method for preprocessing images.
- Support NMS with GPU.
- Support Load PreTrained models from ultralytics/yolov5/yolov8 and yolo11 (converted).
Models
You can download yolov5/yolov8 pre-trained models here.
model | n | s | m | l | x |
---|---|---|---|---|---|
yolov5 | yolov5n | yolov5s | yolov5m | yolov5l | yolov5x |
yolov5u | yolov5nu | yolov5su | yolov5mu | yolov5lu | yolov5xu |
yolov8 | yolov8n | yolov8s | yolov8m | yolov8l | yolov8x |
yolov11 | yolov11n | yolov11s | yolov11m | yolov11l | yolov11x |
How to use:
1.Add Nuget pack: IntptrMax.YoloSharp.
2.Add one of libtorch-cpu, libtorch-cuda-12.1, libtorch-cuda-12.1-win-x64 or libtorch-cuda-12.1-linux-x64 version 2.5.1.0.
3.And Then in your program, you only have to do the below:
// Create predictor
Predictor predictor = new Predictor(sortCount, yoloType: yoloType, deviceType: deviceType, yoloSize: yoloSize, dtype: dtype);
// Train model
predictor.LoadModel(preTraindModelPath);
predictor.Train(trainDataPath, valDataPath, outputPath: outputPath, batchSize: batchSize, epochs: epochs);
// Predict image
Bitmap inputBitmap = new Bitmap(predictImagePath);
predictor.LoadModel(Path.Combine(outputPath, "best.bin"));
var results = predictor.ImagePredict(inputBitmap, predictThreshold, iouThreshold);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | 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. |
-
net8.0
- System.Drawing.Common (>= 9.0.0)
- TorchSharp (>= 0.105.0)
- TorchVision (>= 0.105.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 53 | 1/2/2025 |