news 2026/7/4 21:47:10

小白也能懂的YOLO11教程:从环境搭建到模型推理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
小白也能懂的YOLO11教程:从环境搭建到模型推理

小白也能懂的YOLO11教程:从环境搭建到模型推理

1. 环境准备与镜像使用

1.1 使用YOLO11镜像快速启动开发环境

为了简化YOLO11的部署流程,推荐使用预配置的深度学习镜像。该镜像基于ultralytics/ultralytics构建,集成了PyTorch、CUDA、OpenCV等必要依赖,开箱即用。

通过CSDN星图平台可一键拉取并运行YOLO11完整环境:

# 示例:本地Docker方式启动(如支持) docker run -d --gpus all \ -p 8888:8888 \ -v ./datasets:/mnt/data \ yolo11-env:latest

容器启动后可通过Jupyter或SSH两种方式接入开发环境。

1.2 Jupyter Notebook 使用指南

访问http://<服务器IP>:8888即可进入Jupyter界面。首次登录需输入Token(可在日志中查看),建议绑定个人账户以提升安全性。

在Jupyter中可以:

  • 实时调试训练脚本
  • 可视化数据增强效果
  • 查看损失曲线和mAP变化趋势
  • 快速验证推理结果

1.3 SSH远程连接开发环境

对于习惯命令行操作的用户,可通过SSH直接连接容器进行开发:

ssh user@<服务器IP> -p 2222

登录后即可执行常规Linux命令,如文件管理、进程监控、日志查看等。适合批量处理数据、长时间训练任务等场景。


2. 项目结构初始化

2.1 进入项目目录

首先切换至YOLO11主工程目录:

cd ultralytics-8.3.9/

此目录包含核心代码库ultralytics/以及后续自定义脚本存放位置。

2.2 建立标准项目结构

为保证工程规范性,建议创建如下目录结构:

ultralytics-8.3.9/ ├── datasets/ # 存放训练/验证数据 │ └── det_auto_parts_20241020/ │ ├── train/images/ │ ├── train/labels/ │ ├── val/images/ │ └── val/labels/ ├── weights/ # 预训练权重存储 │ ├── yolo11n.pt │ └── yolo11m.pt ├── runs/ # 训练输出自动保存路径 ├── train.py # 自定义训练脚本 ├── infer.py # 推理脚本 └── ...

该结构与Ultralytics官方设计兼容,便于迁移和复现。


3. 数据集准备与标注转换

3.1 使用Labelme进行图像标注

推荐使用开源工具Labelme进行手动标注:

  1. 安装:pip install labelme
  2. 启动:labelme
  3. 操作流程:
    • 点击“打开目录”加载图片
    • 选择“创建矩形”框选目标
    • 输入类别标签(如car、bus)
    • 保存生成同名.json文件

每个JSON文件记录了图像尺寸、对象坐标及语义信息。

3.2 Labelme JSON转YOLO TXT格式

YOLO系列模型要求标签为归一化的TXT格式,每行表示一个物体:

<object-class> <x_center> <y_center> <width> <height>

编写自动化转换脚本如下:

import json import os # 类别映射表(根据实际任务修改) label_map = { "car": 0, "bus": 1, "truck": 2 } def convert_labelme_to_yolo(json_path, output_dir): with open(json_path, 'r') as f: data = json.load(f) img_w = data['imageWidth'] img_h = data['imageHeight'] annotations = [] for shape in data['shapes']: label_name = shape['label'] if label_name not in label_map: continue class_id = label_map[label_name] points = shape['points'] # 处理矩形或多边形 x_coords = [p[0] for p in points] y_coords = [p[1] for p in points] x1, x2 = min(x_coords), max(x_coords) y1, y2 = min(y_coords), max(y_coords) # 归一化计算 xc = (x1 + x2) / 2 / img_w yc = (y1 + y2) / 2 / img_h w = (x2 - x1) / img_w h = (y2 - y1) / img_h annotations.append(f"{class_id} {xc:.6f} {yc:.6f} {w:.6f} {h:.6f}") # 写入txt文件 base_name = os.path.splitext(os.path.basename(json_path))[0] output_file = os.path.join(output_dir, base_name + '.txt') os.makedirs(output_dir, exist_ok=True) with open(output_file, 'w') as f: f.write('\n'.join(annotations)) def process_folder(input_folder, output_folder): for file in os.listdir(input_folder): if file.endswith('.json'): json_path = os.path.join(input_folder, file) convert_labelme_to_yolo(json_path, output_folder) # 执行转换 input_folder = "/mnt/data/json_labels" output_folder = "/mnt/data/yolo11_txt_labels" process_folder(input_folder, output_folder)

4. YOLO11模型配置与训练

4.1 数据集YAML配置文件

ultralytics/cfg/datasets/下新建auto-parts-det.yaml

path: ./datasets/det_auto_parts_20241020 train: train/images val: val/images names: 0: car 1: bus 2: truck

关键字段说明:

  • path: 数据集根目录
  • train/val: 相对路径下的图像文件夹
  • names: 类别索引映射

4.2 模型结构配置文件解析

YOLO11主干网络定义于ultralytics/cfg/models/11/yolo11.yaml,其核心组件包括:

  • Backbone: 多尺度特征提取(P3-P5)
  • Neck: FPN+PAN结构融合高低层特征
  • Head: Detect头输出三路检测结果

支持不同规模模型通过scales参数控制:

  • n: nano,最小轻量版
  • s/m/l/x: 从小到大逐步增加深度和宽度

4.3 编写训练脚本

创建train.py,实现全流程训练逻辑:

from ultralytics import YOLO # 加载模型配置并加载预训练权重 model = YOLO("yolo11m.yaml").load("weights/yolo11m.pt") # 训练参数配置 train_params = { 'data': 'auto-parts-det.yaml', 'epochs': 100, 'imgsz': 640, 'batch': 8, 'device': 0, # 使用GPU 0 'workers': 8, 'optimizer': 'AdamW', 'lr0': 0.001, 'weight_decay': 0.0005, 'warmup_epochs': 3, 'project': 'runs/train', 'name': 'exp_auto_parts', 'save_period': 10, 'val': True, 'plots': True } # 开始训练 results = model.train(**train_params)

提示:若未指定模型大小,默认加载yolo11n;建议明确使用yolo11m.yaml等形式避免混淆。


5. 模型推理与结果分析

5.1 执行模型训练

运行以下命令开始训练:

python train.py

典型输出日志:

Starting training for 100 epochs... Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size 1/100 4.68G 2.238 1.691 2.426 80 640 Class Images Instances Box(P R mAP50) all 128 929 0.77 0.728 0.798 ... 100/100 4.49G 1.171 0.7135 1.319 41 640 all 128 929 0.847 0.845 0.891

训练完成后,最佳权重保存在runs/train/exp_auto_parts/weights/best.pt

5.2 模型推理实现

创建infer.py进行预测:

from ultralytics import YOLO # 加载训练好的模型 model = YOLO("runs/train/exp_auto_parts/weights/best.pt") # 批量推理图像文件夹 results = model.predict( source="datasets/det_auto_parts_20241020/val/images/", conf=0.45, iou=0.6, imgsz=640, device=0, save=True, save_txt=True, show_labels=True, show_conf=True )

参数说明:

  • source: 支持图片路径、文件夹、视频、摄像头ID
  • conf: 置信度阈值过滤低质量预测
  • save: 自动保存带框图和标签文本
  • device: 指定GPU设备加速推理

5.3 推理结果可视化

系统将自动生成:

  • 带检测框的图像(保存在runs/detect/predict/
  • 对应的TXT标签文件(用于后续评估)
  • 可选:分割掩码、关键点、OBB旋转框等高级输出

适用于简单场景与密集遮挡场景的目标检测任务。


6. 总结

本文系统介绍了YOLO11从环境搭建到模型推理的完整流程,涵盖以下关键步骤:

  1. 环境部署:利用预置镜像快速构建开发环境,支持Jupyter交互式开发与SSH远程操作。
  2. 数据准备:通过Labelme标注并转换为YOLO标准格式,确保数据正确性。
  3. 模型配置:合理设置YAML文件,匹配实际任务需求。
  4. 模型训练:调用Ultralytics API完成端到端训练,灵活调整超参数。
  5. 模型推理:加载最优权重进行预测,输出可视化结果与结构化数据。

YOLO11继承了Ultralytics系列高效易用的特点,同时在精度与速度间取得良好平衡,非常适合工业检测、自动驾驶、安防监控等应用场景。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 19:09:40

没万元显卡怎么玩AI编程?Seed-Coder-8B-Base云端镜像解救你

没万元显卡怎么玩AI编程&#xff1f;Seed-Coder-8B-Base云端镜像解救你 你是不是也刷到过那种视频&#xff1a;AI自动写游戏脚本、几秒生成一个贪吃蛇小游戏&#xff0c;甚至还能自己调试逻辑&#xff1f;看着特别酷&#xff0c;心里直痒痒。可一查实现方式&#xff0c;发现人…

作者头像 李华
网站建设 2026/7/1 17:58:55

如何用好VibeThinker-1.5B?英语提问+提示词设置教程

如何用好VibeThinker-1.5B&#xff1f;英语提问提示词设置教程 1. 背景与模型定位 1.1 小参数模型的推理能力突破 近年来&#xff0c;大语言模型在数学推理和代码生成任务上的表现持续提升&#xff0c;但通常伴随着高昂的训练成本和巨大的参数规模。VibeThinker-1.5B 的出现…

作者头像 李华
网站建设 2026/7/1 21:24:47

Qwen3-8B最新版尝鲜:云端GPU立即体验,不用等环境配置

Qwen3-8B最新版尝鲜&#xff1a;云端GPU立即体验&#xff0c;不用等环境配置 你是不是也和我一样&#xff0c;每次看到大模型新版本发布都特别兴奋&#xff1f;尤其是这次通义千问Qwen3-8B的更新&#xff0c;社区讨论热度爆棚。但点开GitHub issue一看&#xff0c;满屏都是“C…

作者头像 李华
网站建设 2026/7/4 9:35:05

BGE-M3显存优化技巧:云端按需扩容应对峰值负载

BGE-M3显存优化技巧&#xff1a;云端按需扩容应对峰值负载 你是不是也遇到过这种情况&#xff1a;公司大促期间&#xff0c;用户搜索、推荐请求像潮水一样涌来&#xff0c;原本稳定的向量检索服务突然开始频繁报错——“CUDA out of memory”&#xff1f;重启无效&#xff0c;…

作者头像 李华
网站建设 2026/7/3 21:39:02

实测DeepSeek-R1-Distill-Qwen:数学推理效果超预期

实测DeepSeek-R1-Distill-Qwen&#xff1a;数学推理效果超预期 在当前大模型轻量化与高效推理的背景下&#xff0c;DeepSeek-R1-Distill-Qwen-1.5B 作为一款基于知识蒸馏技术打造的小参数模型&#xff0c;凭借其出色的数学推理能力引起了广泛关注。本文将从部署实践、性能测试…

作者头像 李华
网站建设 2026/7/3 5:53:29

Qwen3-VL多模态应用:5个案例+云端快速复现教程

Qwen3-VL多模态应用&#xff1a;5个案例云端快速复现教程 你是不是也经历过这样的脑暴会&#xff1f;团队围坐一圈&#xff0c;想法一个接一个冒出来&#xff1a;“我们能不能做个能看图讲故事的AI助手&#xff1f;”“有没有可能让AI自动分析用户上传的产品照片&#xff0c;给…

作者头像 李华