Repository navigation
Releases: hnlyf168/SimdYolo
Release list
SimdYolo 0.11.2:原版对照重测、纯.NET模型工作流与目标分离
SimdYolo 0.11.2:原版对照重测、纯.NET模型工作流与目标分离
主库和训练核心为纯C#/.NET10;CPU使用SIMD/intrinsics,GPU使用系统Vulkan/Metal。应用不依赖Python、PyTorch、TorchSharp、ORT或BLAS;Vulkan运行不需要CUDA Toolkit/cuDNN/cuBLAS或Vulkan SDK,需要兼容驱动和loader。Python/ORT仅供独立开发验证。
本版功能
- 直接加载受支持完整PT、ONNX、SYTRAIN及类别标签,检测/实例分割/姿态统一API,随包提供33份原模型。
- 纯C#掩码SIMD、坐标与插值行缓存、多实例有界并行、临时缓冲池;公开输出保持独立所有权。
- 网页人物/车辆分离和移除目标背景,两张互补透明PNG;4K/8K图有界缩放,原图坐标映射。
- RGB24二进制上传、有界掩码LRU、RGB复用;调整置信度复用模型会话。
- 五代检测头微调、独立验证集、P/R/mAP、最佳模型、早停、取消恢复;网页标注与人工审核预标注。
- 纯.NET导出标准ONNX;CPU FP16混合/INT8及校准为实验功能,当前没有速度优势,默认FP32,GPU仍为FP32。
原版 / 本库 / ORT速度排名
实测日期:2026-10-17 11:50:41 +0800;Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz,NVIDIA GeForce GTX 1050 Ti。FP32、batch1、640×640、CPU12线程。11模型×8配置×两轮,共176个独立窗口、39,264次推理、224/224项输出校验通过。预热60次,每窗口至少4秒/40帧。
本表计入网络前向与输出头解码;GPU包含输入上传和全部输出回读,排除图片预处理、NMS、最终实例掩码、模型加载和首帧。原版PyTorch使用官方Ultralytics fuse(),ORT启用全部图优化,CUDA关闭TF32。每格为两个独立窗口中位数的中位数,①最快,按未舍入值排名;接近结果不能解释为稳定胜出。
CPU / GPU 速度排名
每格为中位耗时 ms + 名次,①最快、④最慢,第一名加粗;重复窗口取各窗口中位数的中位数,按未舍入值排序。小幅差距不代表稳定胜出或统计显著性。
CPU 速度排名
| 模型 | 原版 PyTorch CPU | 我们的 .pt CPU |
我们的 ONNX CPU | ORT CPU(.NET) |
|---|---|---|---|---|
| yolov8n | 44.23 ④ | 21.74 ① | 22.19 ② | 24.23 ③ |
| yolov9t | 76.55 ④ | 29.16 ② | 30.90 ③ | 28.56 ① |
| yolov10n | 48.15 ④ | 21.57 ① | 22.22 ② | 22.43 ③ |
| yolo11n | 50.34 ④ | 21.69 ① | 22.19 ② | 23.11 ③ |
| yolo26n | 54.13 ④ | 22.32 ② | 26.76 ③ | 18.04 ① |
| yolov8n-seg | 58.21 ④ | 28.12 ① | 28.73 ② | 33.86 ③ |
| yolo11n-seg | 71.59 ④ | 27.72 ① | 29.97 ② | 33.49 ③ |
| yolo26n-seg | 68.51 ④ | 30.03 ② | 30.97 ③ | 28.98 ① |
| yolov8n-pose | 47.32 ④ | 22.78 ① | 23.59 ② | 25.06 ③ |
| yolo11n-pose | 54.52 ④ | 23.15 ① | 23.91 ② | 24.85 ③ |
| yolo26n-pose | 58.29 ④ | 24.81 ② | 25.38 ③ | 21.43 ① |
| 第一名次数(完整四配置 11/11 模型) | 0 | 7 | 0 | 4 |
GPU 速度排名
| 模型 | 原版 PyTorch CUDA | 我们的 .pt Vulkan |
我们的 ONNX Vulkan | ORT CUDA(.NET) |
|---|---|---|---|---|
| yolov8n | 9.77 ① | 10.36 ② | 10.60 ③ | 12.52 ④ |
| yolov9t | 21.44 ④ | 12.82 ① | 14.03 ② | 17.56 ③ |
| yolov10n | 10.72 ③ | 10.03 ① | 10.23 ② | 13.27 ④ |
| yolo11n | 10.46 ① | 10.55 ② | 10.61 ③ | 13.52 ④ |
| yolo26n | 12.13 ③ | 10.95 ① | 11.05 ② | 13.05 ④ |
| yolov8n-seg | 12.94 ① | 13.70 ② | 13.80 ③ | 16.39 ④ |
| yolo11n-seg | 13.51 ② | 13.46 ① | 13.57 ③ | 17.32 ④ |
| yolo26n-seg | 16.12 ③ | 14.70 ② | 14.50 ① | 16.95 ④ |
| yolov8n-pose | 10.12 ① | 10.51 ② | 10.76 ③ | 12.87 ④ |
| yolo11n-pose | 10.94 ① | 11.05 ② | 11.24 ③ | 14.05 ④ |
| yolo26n-pose | 13.25 ③ | 11.96 ① | 12.15 ② | 13.92 ④ |
| 第一名次数(完整四配置 11/11 模型) | 5 | 5 | 1 | 0 |
完整速度、CPU、RSS、GPU及显存 · 原始JSON。整卡GPU数据包含桌面/其他进程;不是单进程使用率或功耗。
推理、训练与网页验证
推理CPU/Vulkan回归116项、训练集成19项及完整网页流程见本版验证。发布使用与正式计时相同的主库DLL,包、模型、网页、文档及中文UTF-8说明均核验摘要。训练速度及保存模型对照仍绑定0.10.1,没有冒充本版重测。
训练限于冻结骨干/FPN的检测头微调;没有全参数、分割/姿态或Metal训练。普通ONNX不能初始化训练;SYTRAIN是本项目归档,不能冒充PyTorch PT。其他尺度/设备需独立验证,Metal本机未测试。
下载与启动
| 附件 | 内容 |
|---|---|
| SimdYolo.0.11.2.nupkg | 推理主库、中文XML及GPU着色器 |
| SimdYolo.Training.0.11.2.nupkg | 五代检测头微调、验证/最佳模型/早停,依赖同版主库 |
| SimdYolo-models-v0.11.2.zip | 11个PT、22个ONNX、来源、SHA256和原许可证 |
| SimdYolo-Web-v0.11.2.zip | ASP.NET Core网页、启动脚本;模型和.NET运行时另备 |
| SimdYolo-docs-v0.11.2.zip | 当前README、API/训练说明、图文、完整评测与复现输入 |
| SHA256SUMS-v0.11.2.txt | 全部附件的SHA256 |
安装.NET10/ASP.NET Core运行时,将网页ZIP与模型ZIP解压至同一目录,运行start.cmd或start.ps1,打开http://127.0.0.1:5188。[详细步骤](https://github.com/hnlyf168/SimdYolo/blob/v0.11.2/docs/releases/web-runtime.md)。源码构建需要.NET10 SDK及Git LFS。
原模型、SHA256、AGPL-3.0及来源保持不变,项目源码暂未新增许可证。
SimdYolo 0.10.1:五代 YOLO 训练提速与保存模型对比
SimdYolo 0.10.1:五代 YOLO 训练提速与保存模型对比
主库和训练核心保持纯 C# / .NET 10;CPU 使用 SIMD/intrinsics,GPU 调用系统 Vulkan/Metal API。应用运行不依赖 Python、PyTorch、TorchSharp、ORT 或 BLAS;Vulkan 不需要 CUDA Toolkit、cuDNN、cuBLAS 和 Vulkan SDK,需要兼容显卡驱动与 Vulkan loader。
本版功能
- YOLOv8n、Ultralytics YOLOv9t、YOLOv10n、YOLO11n、YOLO26n 检测头微调;冻结骨干/FPN,支持深度卷积、完整双头、自定义类别、SGD、取消和断点恢复。
- SIMD 激活/BN/SGD 与有限性检查、1×1零复制、连续行 im2col/col2im、直接点积 dW、有界临时矩阵复用。
- Vulkan 混合训练按计算量分派:小 GEMM 使用 CPU SIMD,较大 GEMM 使用 GPU;头部深度卷积、BN、损失和 SGD 仍在 CPU。
- 检测、实例分割、姿态推理,直接读取受支持完整 PT/ONNX/SYTRAIN 与类别标签;全部33个原模型随附件提供。
- ASP.NET Core 网页支持图片推理、检测数据导入、真实损失曲线、任务记录、取消/恢复、模型上传下载。
- 兼容旧 v8 原生训练归档;新归档包含单/双头参数、BN、动量与 YOLO26 固定调度,能直接推理和恢复。
训练仍限于检测头微调,不含全参数、分割/姿态或 Metal 训练。原 YOLOv9 DualDDetect/TripleDDetect、未知自定义结构不在训练验证范围;其他尺度未逐份验证。Metal 有推理实现,本轮未在 macOS 实机验证。普通 ONNX 用于推理,不能初始化本训练器;SYTRAIN不是PyTorch PT,暂不导出ONNX。
训练速度排名
i7-8700K / GTX1050Ti,128×128、FP32、2类、4线程、同初始权重与相同冻结特征。计时包含检测头前向、损失、反向、SGD和梯度清零,排除骨干、预处理、加载与保存。原版为官方 Ultralytics 8.4.0 头/损失和 PyTorch SGD,不是完整数据管线或全参数训练。
单位ms/步,越低越快,粗体为同设备组第一;各配置两独立串行窗口、预热10步、每窗512次更新,40窗口合计20,480次。CUDA每步同步,Vulkan包含上传/回读。
| 模型 | 原版 PyTorch CPU | 我们 CPU SIMD | 原版 PyTorch CUDA | 我们 Vulkan 混合 |
|---|---|---|---|---|
| yolov8n | 11.37 | 7.17 | 27.13 | 11.43 |
| yolov9t | 10.90 | 6.46 | 27.17 | 10.39 |
| yolov10n | 26.56 | 15.39 | 59.08 | 22.64 |
| yolo11n | 13.33 | 7.05 | 30.58 | 9.77 |
| yolo26n | 26.06 | 9.29 | 64.49 | 10.61 |
本机这组测试五模型均快于对应参考。0.10.0列为历史同机数据,PyTorch与本版重测;细线为两窗口范围,不是置信区间。结果不能外推到其他设备、640尺寸或全参数训练。CPU、RSS、整卡GPU/显存与托管分配见完整报告。
保存后的模型也做对照
COCO128固定拆成96张微调、32张微调留出验证,80类、256×256、2轮,各模型192次相同SGD更新。CPU对PyTorch CPU,Vulkan对PyTorch CUDA;两边的实际PT/SYTRAIN重新加载,运行完整骨干和检测头,使用相同输入与官方NMS/AP统计。
- 保存模型的P/R/mAP差值门槛10/10通过,mAP50–95最大差约0.088个百分点。
- 第1/16/96/192步直接参数门槛9/10通过;v8 Vulkan/CUDA未通过项保持false,未放宽容差。
- 额外对照发现PyTorch自身CPU/CUDA同样出现约0.012的参数/BN最大漂移;C#两后端对固定PyTorch CPU参数控制10/10通过。多步TAL离散匹配会放大FP32舍入,不声称参数逐位一致。
- 两边短程微调的验证精度都有下降。COCO128来自预训练所用COCO train2017,32张只对本次微调留出,不证明泛化或训练配方有效。
19项训练回归、117项推理回归、22,332项单步数值对照通过。原始结果、固定容差和实际DLL摘要见验证目录。推理性能表继续使用明确标注的0.9.0冻结历史实测,没有冒充0.10.1重新测量。
下载与启动
| 附件 | 内容 |
|---|---|
| SimdYolo.0.10.1.nupkg | 推理主库、中文XML与内嵌着色器 |
| SimdYolo.Training.0.10.1.nupkg | 五代检测头训练库,依赖同版主库 |
| SimdYolo-models-v0.10.1.zip | 11个PT、22个ONNX、来源与原许可证 |
| SimdYolo-Web-v0.10.1.zip | ASP.NET Core框架依赖网页运行包和启动脚本,不含模型与运行时 |
| SimdYolo-docs-v0.10.1.zip | README、API/训练说明、两篇文章、图表、原始结果与历史推理输入 |
| SHA256SUMS-v0.10.1.txt | 五个附件的SHA256 |
安装.NET10/ASP.NET Core运行时,将网页ZIP与模型ZIP解压到同一目录,双击start.cmd或运行start.ps1,打开http://127.0.0.1:5188。详细启动说明。从源码构建需要.NET10 SDK与Git LFS。
33份原模型保持原文件与SHA256、AGPL-3.0许可证及来源;项目源码按此前约定暂未新增许可证。开发对照所需Python/PyTorch/CUDA不会进入应用运行依赖。
SimdYolo 0.9.0:纯 C# YOLO 推理、检测头微调与网页版
SimdYolo 0.9.0:纯 C# YOLO 推理、检测头微调与网页版
主库和训练核心使用 C# / .NET 10,CPU 使用 SIMD/intrinsics,GPU 调用系统 Vulkan/Metal API。运行时无需 Python、PyTorch、TorchSharp、ORT 或原生数学库;Vulkan 路径无需 CUDA Toolkit、cuDNN、cuBLAS。
本次发布
- 已验证 YOLOv8n、Ultralytics YOLOv9t、YOLOv10n、YOLO11n、YOLO26n 检测,以及 v8/11/26 的分割、姿态推理。
- 直接读取完整受支持
.pt和 ONNX,独立读取类别标签;模型包包含全部33个模型、原许可证和来源清单。 - 独立纯 C# 训练模块:YOLOv8 检测头微调,骨干/FPN 冻结,自定义类别、真实反向、SGD 动量、取消和断点恢复。
.sytrain自包含检查点可直接推理及恢复;Vulkan 训练为 GPU GEMM 与 CPU BN/损失/SGD 的混合路径。- ASP.NET Core 网页示例:图片推理、数据集导入、真实损失曲线、任务记录、取消/恢复、模型下载和重新加载。
- README、公众号、博客园文章及性能图更新为本版本;历史报告和冻结包保持原版本与摘要。
训练当前不包含全参数、YOLO26、分割/姿态或 Metal 训练。未进行训练性能或独立验证集 mAP 测量。Metal 有推理实现,本轮没有 macOS 实机验证。
当前版本 CPU/GPU 实测
2026-10-15 10:53:49 +0800,i7-8700K / GTX 1050 Ti,FP32、batch=1、640×640、12线程。11模型×8配置×2轮,176个独立窗口,39,134次推理,224项输出校验通过;每配置预热60次,计至少4秒/40帧。
CPU / GPU 速度排名
每格为中位耗时 ms + 名次,①最快、④最慢,第一名加粗;重复窗口取各窗口中位数的中位数,按未舍入值排序。小幅差距不代表稳定胜出或统计显著性。
CPU 速度排名
| 模型 | 原版 PyTorch CPU | 我们的 .pt CPU |
我们的 ONNX CPU | ORT CPU(.NET) |
|---|---|---|---|---|
| yolov8n | 44.98 ④ | 21.74 ① | 22.24 ② | 24.45 ③ |
| yolov9t | 77.56 ④ | 30.20 ① | 33.62 ③ | 31.05 ② |
| yolov10n | 49.19 ④ | 21.57 ① | 22.64 ② | 22.92 ③ |
| yolo11n | 51.80 ④ | 21.71 ① | 22.72 ② | 23.64 ③ |
| yolo26n | 54.27 ④ | 22.76 ③ | 22.66 ② | 18.54 ① |
| yolov8n-seg | 57.56 ④ | 28.07 ① | 28.61 ② | 34.38 ③ |
| yolo11n-seg | 65.14 ④ | 27.99 ① | 29.48 ② | 33.52 ③ |
| yolo26n-seg | 69.02 ④ | 30.58 ② | 31.44 ③ | 29.57 ① |
| yolov8n-pose | 56.94 ④ | 26.88 ① | 28.04 ② | 31.25 ③ |
| yolo11n-pose | 66.76 ④ | 23.27 ① | 29.65 ③ | 25.35 ② |
| yolo26n-pose | 59.78 ④ | 24.98 ② | 25.49 ③ | 21.91 ① |
| 第一名次数(完整四配置 11/11 模型) | 0 | 8 | 0 | 3 |
GPU 速度排名
| 模型 | 原版 PyTorch CUDA | 我们的 .pt Vulkan |
我们的 ONNX Vulkan | ORT CUDA(.NET) |
|---|---|---|---|---|
| yolov8n | 9.83 ① | 10.39 ② | 10.63 ③ | 12.69 ④ |
| yolov9t | 22.27 ④ | 12.87 ① | 14.09 ② | 17.81 ③ |
| yolov10n | 10.67 ③ | 10.07 ① | 10.28 ② | 13.52 ④ |
| yolo11n | 10.52 ① | 10.62 ② | 10.66 ③ | 13.69 ④ |
| yolo26n | 12.37 ③ | 10.99 ① | 11.08 ② | 13.21 ④ |
| yolov8n-seg | 12.83 ① | 13.75 ② | 13.88 ③ | 16.56 ④ |
| yolo11n-seg | 13.61 ② | 13.50 ① | 13.66 ③ | 17.58 ④ |
| yolo26n-seg | 16.44 ③ | 14.75 ② | 14.57 ① | 17.23 ④ |
| yolov8n-pose | 10.23 ① | 10.55 ② | 10.86 ③ | 13.17 ④ |
| yolo11n-pose | 11.18 ② | 11.08 ① | 11.26 ③ | 14.33 ④ |
| yolo26n-pose | 13.52 ③ | 12.00 ① | 12.22 ② | 14.11 ④ |
| 第一名次数(完整四配置 11/11 模型) | 4 | 6 | 1 | 0 |
图表使用与0.8.1相同的固定实拍图张量,GPU包含上传和全部结果回读,排除图片预处理、NMS、最终mask后处理和冷首帧。两轮范围不是置信区间,小差距的数字排名不表示稳定领先;不能宣称所有模型或内存成本都超过ORT。额外随机输入下 ORT CUDA 的 YOLO26 分割存在校验超差,诊断单独保留,不混入正式图片基准。
CPU% 按全机逻辑核心归一化;RSS包含宿主运行库。GPU与显存是整卡采样,包含桌面及其他进程,不是单进程占用。
下载附件
| 附件 | 用途 |
|---|---|
SimdYolo.0.9.0.nupkg |
已验证的冻结推理主库和中文 XML 文档 |
SimdYolo.Training.0.9.0.nupkg |
已验证的训练库,仅依赖同版本主库 |
SimdYolo-models-v0.9.0.zip |
11个PT、22个ONNX,包含YOLO26及原许可证/摘要 |
SimdYolo-Web-v0.9.0.zip |
网页版发布输出和启动脚本,模型与.NET运行时另装 |
SimdYolo-docs-v0.9.0.zip |
本次最新README、文档、两篇图文、PNG/SVG、实测与验证结果 |
SHA256SUMS-v0.9.0.txt |
上述附件的SHA256,供下载后核验 |
NuGet 二进制保留0.9.0数值/消费验证时的摘要;最新README和实测图请使用本Release的源码或文档附件。模型沿用上游 AGPL-3.0,保留原许可证和来源;源码暂未新增许可证。
启动网页版
源码方式需要 .NET 10 SDK 和已拉取的 Git LFS 模型:
dotnet run --project examples/SimdYolo.Web -c Release打开 **http://127.0.0.1:5188**。运行包方式将网页ZIP和模型ZIP解压到同一目录,安装ASP.NET Core 10运行时,然后运行包内 start.cmd(Windows)或按README启动。默认本机绑定,没有公网账号/鉴权。
验证
训练测试12项、CPU/Vulkan推理回归117项、固定原版PyTorch/Ultralytics独立数值检查640项通过,已实际验证浏览器与发布后的应用。单图损失下降仅证明流程可学习,不代表独立数据集mAP。
SimdYolo 0.7.1:中文代码文档与 YOLO 模型
SimdYolo 0.7.1:中文代码文档与 YOLO 模型
这是历史发布版本。当前代码、模型和性能结果请查看最新发布及仓库首页。
本版本内容
- 纯 C# / .NET 10 YOLO 推理,CPU 使用 SIMD/intrinsics,GPU 调用系统 Vulkan/Metal API。
- 直接加载支持范围内的
.pt和 ONNX,覆盖检测、实例分割与姿态估计。 - 补齐类、方法、参数、返回值、属性和异常的中文 XML 文档;NuGet 包包含
SimdYolo.xml。 - 0.7.1 的 Release 构建无警告、无错误,CPU/Vulkan 与真实模型测试共 90 项通过。
- 0.7.1 与 0.7.0 的 1,636 个方法签名、IL、局部变量和异常区域一致;本版本沿用 0.7.0 冻结程序集的性能测量,未把旧测量标成新一轮基准。
下载
| 附件 | 用途 |
|---|---|
SimdYolo.0.7.1.nupkg |
推理主库及中文 IDE 文档 |
SimdYolo.0.7.0.nupkg |
当时正式性能测量对应的历史库包 |
SimdYolo-models-v0.7.1.zip |
24 个模型:8 个 PT、16 个 ONNX,以及原许可证和来源 |
旧模型包的 opset 12 ONNX 使用固定 128×128,普通 opset 17 ONNX 使用 640×640;请按实际模型输入运行。此历史版本不包含后续新增的 YOLO26、训练模块和网页示例。
模型沿用上游 AGPL-3.0,源码未新增许可证。Metal 已有实现,当时 Windows 环境未进行 Metal 实机验证。






