Skip to content

Releases: hnlyf168/SimdYolo

SimdYolo 0.11.2:原版对照重测、纯.NET模型工作流与目标分离

Choose a tag to compare

@hnlyf168 hnlyf168 released this 17 Oct 04:26

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速度

GPU速度

完整速度、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 训练提速与保存模型对比

Choose a tag to compare

@hnlyf168 hnlyf168 released this 15 Oct 08:09

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.1 CPU训练速度

0.10.1 Vulkan混合训练速度

本机这组测试五模型均快于对应参考。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 推理、检测头微调与网页版

Choose a tag to compare

@hnlyf168 hnlyf168 released this 15 Oct 03:32

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.9.0 CPU 速度对比

0.9.0 GPU 速度对比

图表使用与0.8.1相同的固定实拍图张量,GPU包含上传和全部结果回读,排除图片预处理、NMS、最终mask后处理和冷首帧。两轮范围不是置信区间,小差距的数字排名不表示稳定领先;不能宣称所有模型或内存成本都超过ORT。额外随机输入下 ORT CUDA 的 YOLO26 分割存在校验超差,诊断单独保留,不混入正式图片基准。

完整结果、首帧与资源数据 · 原始 JSON

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。

README · 推理 API · 训练范围 · 网页说明

SimdYolo 0.7.1:中文代码文档与 YOLO 模型

Choose a tag to compare

@hnlyf168 hnlyf168 released this 14 Oct 08:27

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 实机验证。

本版本说明 · 模型使用 · 中文文档验证