ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

YOLO11 的工程落地遵循一个清晰的“**训练在 Python,推理在 C#**”分离模式

YOLO11 的工程落地遵循一个清晰的“**训练在 Python,推理在 C#**”分离模式 YOLO11 的工程落地遵循一个清晰的“训练在 Python推理在 C#”分离模式。它的安装与命令行使用集中在 Python 侧而 C# 侧的集成核心是加载 Python 侧导出的 ONNX 模型。 Python 侧安装与命令行使用YOLO11 的安装非常简洁官方推荐的方式是直接通过 pip 安装ultralytics包。环境要求Python 3.8PyTorch 1.8。建议在虚拟环境中操作以避免依赖冲突。安装命令pipinstallultralytics如果网络较慢可以使用国内镜像源加速pipinstallultralytics-ihttps://pypi.tuna.tsinghua.edu.cn/simple命令行CLI使用安装完成后yolo命令即可直接使用采用yolo TASK MODE的格式。用途命令行示例推理/预测yolo predict modelyolo11n.pt sourcebus.jpg训练模型yolo train modelyolo11n.pt datacoco8.yaml epochs100 imgsz640导出为 ONNXyolo export modelyolo11n.pt formatonnx运行推理命令后结果会保存在当前目录的runs/文件夹中。首次运行时会自动下载预训练的模型权重文件如yolo11n.pt。 C# 侧ONNX 模型加载与推理C# 无法直接运行 PyTorch 的.pt文件因此必须在 Python 侧先将训练好的模型导出为ONNX 格式然后在 C# 中通过 ONNX Runtime 加载推理。1. 导出 ONNX 模型Python 侧fromultralyticsimportYOLO modelYOLO(path/to/best.pt)# 或 yolo11n.ptmodel.export(formatonnx)# 生成 best.onnx 或 yolo11n.onnx2. C# 侧加载与推理推荐使用封装库手动处理 ONNX 的预处理和后处理比较繁琐推荐使用成熟的 NuGet 包。YoloSharp是一个高性能、内存复用、生产就绪的 C# YOLO 推理库支持 YOLO11 的全任务类型检测、分割、姿态、OBB 等。安装 NuGet 包dotnetaddpackage YoloSharpC# 调用示例usingCompunet.YoloSharp;// 1. 加载 ONNX 模型usingvarpredictornewYoloPredictor(path/to/model.onnx);// 2. 对图像进行目标检测varresultpredictor.Detect(path/to/image.jpg);// 3. 输出结果Console.WriteLine(result);// 打印检测到的所有目标摘要如果你的工控机有 NVIDIA 显卡可以安装YoloSharp.Gpu包只需将YoloPredictor替换为对应的 GPU 版本即可启用 CUDA 加速。⚠️ 关键约束与注意点模型导出时的动态维度导出 ONNX 时确保模型支持动态输入尺寸dynamic_axes否则 C# 侧只能推理固定尺寸如 640×640的图像灵活性大打折扣。后处理不要手写YOLO 的输出包含大量候选框需要 NMS非极大值抑制去重。使用YoloSharp这类封装库的好处是它们已经内部处理好了坐标还原、置信度过滤和 NMS你拿到的就是结构化的检测结果。性能预期根据官方数据YOLO11n 在 CPU 上使用 ONNX Runtime 推理 640×640 图像约需56ms在 T4 GPU 上使用 TensorRT 则仅需1.5ms。对于工业视觉的实时性要求建议优先使用 GPU 推理。
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表