自定义数据集完整训练流程 Ultralytics 统一训练代码 python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 from ultralytics import YOLO # 加载模型 # model = YOLO("yolov8n.yaml") # 从头训练 # model = YOLO("yolo11n.pt") # 基于预训练权重 model = YOLO("yolo26n.pt") # 2026推荐,边缘部署首选 # 开始训练 results = model.train( # 基础配置 data="data.yaml", # 数据集配置 epochs=100, # 训练轮数 imgsz=640, # 输入尺寸 batch=16, # 批次大小 workers=8, # 数据加载线程数 # 优化器配置 optimizer="auto", # YOLO26自动使用MuSGD lr0=0.01, # 初始学习率 lrf=0.01, # 最终学习率因子 momentum=0.937, # SGD动量 weight_decay=0.0005, # 权重衰减 # 数据增强 mosaic=1.0, mixup=0.1, copy_paste=0.1, # 其他配置 device=0, # GPU设备,"cpu"为CPU project="runs/train", # 保存路径 name="yolo26_exp1", # 实验名称 exist_ok=False, # 是否覆盖 pretrained=True, # 使用预训练 verbose=True, # 详细日志 seed=42, # 随机种子 ) # 验证模型 metrics = model.val() print(f"mAP50: {metrics.box.map50:.3f}") print(f"mAP50-95: {metrics.box.map:.3f}") 各版本训练参数差异 参数 YOLOv8 YOLO11 YOLO26 默认优化器 SGD SGD MuSGD DFL 损失 ✅ ✅ ❌ 已移除 NMS 后处理 ✅ ✅ ❌ 原生无 NMS 小目标优化 一般 较好 最佳 (STAL) CPU 推理速度 基准 +25% +43% 损失函数详解 YOLO 的损失函数由三部分组成,每部分针对不同的学习目标:
Continue reading →使用一月 距离上一篇 《给博客换了个主题:从 Hugo NexT 到自写的 Zhi》 文章已经快一个月了。这一个月里,主题一直在稳定运行,没有出现重大问题。NexT 主题的替换是正确的决定,虽然初期有点适应,但现在的体验确实好很多。
Continue reading →数据标注工具使用 LabelImg 安装与使用 bash 1 2 3 4 5 # 安装 pip install labelImg # 启动 labelImg 标注流程:
Open Dir → 选择图片文件夹 Change Save Dir → 选择标注保存文件夹 选择 YOLO 格式 Create RectBox → 框选目标 → 输入类别名 Save 保存 LabelMe 安装与使用 bash 1 2 pip install labelme labelme CVAT 自托管标注平台 CVAT(Computer Vision Annotation Tool)是由 Intel 开源的强大标注平台,支持 Docker 自托管部署,适合团队协作和大规模标注项目。
Continue reading →各版本模型加载与推理 Ultralytics 统一 API(v8/11/26 通用) python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 from ultralytics import YOLO # ========== YOLOv8 ========== model_v8 = YOLO("yolov8n.pt") # nano model_v8 = YOLO("yolov8s.pt") # small model_v8 = YOLO("yolov8m.pt") # medium model_v8 = YOLO("yolov8l.pt") # large model_v8 = YOLO("yolov8x.pt") # extra large # ========== YOLO11 ========== model_11 = YOLO("yolo11n.pt") # nano model_11 = YOLO("yolo11s.pt") # small model_11 = YOLO("yolo11m.pt") # medium model_11 = YOLO("yolo11l.pt") # large model_11 = YOLO("yolo11x.pt") # extra large # ========== YOLO26 (2026最新) ========== model_26 = YOLO("yolo26n.pt") # nano 推荐边缘部署 model_26 = YOLO("yolo26s.pt") # small model_26 = YOLO("yolo26m.pt") # medium model_26 = YOLO("yolo26l.pt") # large model_26 = YOLO("yolo26x.pt") # extra large 图片检测实战 python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 from ultralytics import YOLO # 加载模型(以YOLO26为例) model = YOLO("yolo26n.pt") # 单张图片检测 results = model("test.jpg", conf=0.25, iou=0.45) # 结果处理 for result in results: boxes = result.boxes # 检测框 masks = result.masks # 分割掩码 probs = result.probs # 分类概率 # 打印检测结果 for box in boxes: print(f"类别: {result.names[int(box.cls)]}, " f"置信度: {box.conf.item():.3f}, " f"坐标: {box.xyxy.tolist()[0]}") # 保存可视化结果 result.save("result.jpg") 视频检测实战 python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 from ultralytics import YOLO model = YOLO("yolo26n.pt") # 视频文件检测 results = model.predict( source="input.mp4", save=True, # 保存结果视频 conf=0.3, show=False, # 是否实时显示 stream=True # 流式处理,节省内存 ) # 逐帧处理 for result in results: # 自定义后处理逻辑 pass 摄像头实时检测 python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 from ultralytics import YOLO import cv2 model = YOLO("yolo26n.pt") # 打开摄像头 cap = cv2.VideoCapture(0) # 0为默认摄像头 while cap.isOpened(): ret, frame = cap.read() if not ret: break # 推理 results = model(frame, verbose=False) # 绘制结果 annotated_frame = results[0].plot() # 显示 cv2.imshow("YOLO Real-time", annotated_frame) if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows() 各版本代码差异说明 特性 YOLOv8 YOLO11 YOLO26 YOLOv9 YOLOv10 API 统一 ✅ ✅ ✅ ❌ 独立仓库 ❌ 独立仓库 无 NMS ❌ ❌ ✅ ❌ ✅ DFL 模块 ✅ ✅ ❌ 已移除 ✅ ✅ MuSGD 优化器 ❌ ❌ ✅ ❌ ❌ 导出兼容性 良好 良好 最佳 一般 一般 Results 对象 API 详解 model() 或 model.predict() 返回的是一个 Results 对象列表。每个 Results 对象封装了单张图片的所有推理输出。理解其内部结构是进行后续处理的基础。
Continue reading →上一篇讲了初始配置的搭建过程,这篇记录跑了两周之后的调整:从单供应商扩展到四层模型池、补了降级链路、踩了 GLM-4.5-air 只分析不写代码的坑。
文档包含:降级策略设计、免费模型池完整清单和分析、并发控制配置、GLM-4.5-air 替换方案的决策过程。
Continue reading →📚 学习路径与版本选择建议 版本选择指南 版本 发布时间 开发团队 适用场景 推荐指数 YOLO26 2026.01 Ultralytics 官方 边缘部署、CPU 推理、工业落地 ⭐⭐⭐⭐⭐ YOLOv8 2023.01 Ultralytics 官方 入门学习、生态完善、通用场景 ⭐⭐⭐⭐⭐ YOLO11 2024.09 Ultralytics 官方 效率优化、轻量部署 ⭐⭐⭐⭐ YOLOv10 2024.05 清华大学 研究探索、无 NMS 端到端 ⭐⭐⭐⭐ YOLOv9 2024.01 台湾大学 高精度、小目标检测 ⭐⭐⭐⭐ YOLOv12 2025.02 布法罗大学 + 中科院 注意力机制研究 ⭐⭐⭐ 学习路径建议 入门阶段(1-2 周):从 YOLOv8 开始,掌握基础概念和 API 使用 进阶阶段(2-3 周):学习自定义数据集训练、调参优化 实战阶段(2-3 周):学习模型部署、工程化落地 研究阶段(持续):探索 YOLO11、YOLO26、YOLOv9/v10/v12 新特性 YOLO 发展历史完整时间线 版本 发布时间 核心创新 里程碑意义 YOLOv1 2015.06 单阶段检测开山之作 实时检测奠基 YOLOv2 2016.12 Batch Normalization、Anchor 精度速度双提升 YOLOv3 2018.04 多尺度检测、残差网络 工业界标准 YOLOv4 2020.04 CSPDarknet、Mosaic 工程化巅峰 YOLOv5 2020.06 PyTorch 框架、易用性 普及度最高 YOLOv7 2022.07 E-ELAN、重参数化 速度精度平衡 YOLOv8 2023.01 C2f、Anchor-Free、统一框架 Ultralytics 统一生态 YOLOv9 2024.01 GELAN、PGI 可编程梯度 训练效率革命 YOLOv10 2024.05 无 NMS、效率-精度权衡 端到端检测 YOLO11 2024.09 架构优化、参数减少 效率优化版本 YOLOv12 2025.02 Area Attention 注意力机制 注意力架构 YOLO26 2026.01 无 DFL、无 NMS、CPU 优化 43% 边缘计算新标准 各版本核心原理与差异对比 Ultralytics 官方主线版本 YOLOv8 核心特性:
Continue reading →为什么折腾这个 用 AI 写代码这事儿,单模型和多人模型的差距越来越大。一个模型再强,也干不过一组各司其职的模型并行推进。
Oh My OpenCode(下文简称 OmO)是 OpenCode 生态里的多模型编排插件,11 个 Agent 各有分工,48 个 Hook 贯穿整个生命周期。智谱的 Coding Plan 则提供了 GLM 全系列的模型访问。两者搭配起来,就能按角色分配不同的模型——编码强的干编码,推理强的干推理,免费的干杂活。
Continue reading →概览 本文对比三款主流国产大模型的资源需求与使用成本,帮助开发者根据场景选择合适的方案。
模型 厂商 架构 最低可部署显存 API 是否可用 GLM-5 智谱AI Dense(多版本) 24GB(8B) ✅ Kimi K2.5 月之暗面 MoE(未公开) 24GB(轻量版) ✅ MiniMax M2.7 MiniMax MoE 2300亿 暂未开源 ✅ GLM-5(智谱AI) 版本与硬件需求 GLM-5 提供 4 个参数版本,是目前覆盖范围最广的国产大模型。
Continue reading →什么是驾驭工程? 定义:驾驭工程是围绕 AI Agent 设计约束、反馈循环、工具系统和验证机制的工程学科。
这个定义听起来很学术,让我们用一个生动的比喻来理解:
Continue reading →场景:信息正确,执行翻车 让我们从一个真实的故事开始:
背景:公司部署了一个基于 RAG 的技术文档问答系统。这个系统工作得非常好——当用户问"如何配置 Redis 集群?“时,它能准确地从技术文档中检索出相关信息,并给出详细的配置步骤。
Continue reading →