news 2026/8/15 10:00:07

yolo11目标目标检测-cuda11.4

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
yolo11目标目标检测-cuda11.4

0 创建虚拟环境

conda create -n lifting_yolo11 python=3.10 -y

1 T4的cuda信息

1.1 Tesla T4 先确认显卡和驱动:

输入命令nvidia-smi和nvcc -V

显示如下:

(base) yili@yili-asr2:/mnt/1E84006284003F31/jonesky2025-2026$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Wed_Jun__2_19:15:15_PDT_2021
Cuda compilation tools, release 11.4, V11.4.48
Build cuda_11.4.r11.4/compiler.30033411_0

1.2 环境搭建

显示 Tesla T4,且 CUDA Version 为 11.4

事实 1:pytorch1.13.1官方没有 cu114 预编译 whl 包,之前这里是我的错误,不要用 cu114。

事实 2:PyTorch2.0 及以上,官方预编译包最低 cu117,你的机器不能直接 pip 装 2.x

事实 3:cu113 编译的 pytorch,可以跑在系统 nvcc11.4,只要驱动≥470(向下兼容)。

事实 4(采用方案):

  • CUDA Runtime 是向下兼容:cu113编译出来的 pytorch,可以跑在系统 CUDA Toolkit 11.4 环境,只要驱动版本≥470

  • pytorch1.13.1 没有 cu113 的官方 whl;pytorch1.12.1 才有 cu113 官方预编译 whl

  • 到官网https://pytorch.org/get-started/previous-versions/ 上面搜11.3,发现conda和pip安装的两个命令,我们选较新torch1.12

  • ultralytics 版本严格锁死8.3.0更高版本不兼容 torch1.12,因为yolo11是ultralytics8.3.0正式发布的,官方当时给的要求必须大于等于这个版本

开始安装

1.先安装torch\torchvision\torchaudio

方式1:在线安装,很慢

pip install torch==1.12.1+cu113 torchvision==0.13.1 torchaudio==0.12.1 \ --extra-index-url https://download.pytorch.org/whl/cu113 \ --resume-retries 20 --retries 20

--resume‑retries开启断点续传,不用每次从头下载。

方式2:离线安装(本次采用这个)

1)你自己电脑浏览器下载这 3 个 whl

  1. torch:https://download.pytorch.org/whl/cu113/torch-1.12.1%2Bcu113-cp310-cp310-linux_x86_64.whl
  2. torchvision:https://download.pytorch.org/whl/cu113/torchvision-0.13.1%2Bcu113-cp310-cp310-linux_x86_64.whl
  3. torchaudio:https://download.pytorch.org/whl/cu113/torchaudio-0.12.1%2Bcu113-cp310-cp310-linux_x86_64.whl

注意:cp310 对应你的 python3.10;linux_x86_64 服务器版本。

2)把 3 个.whl文件上传到服务器,放到你当前目录

建议严格按照 torch → torchvision → torchaudio 的顺序 pip install torch-1.12.1+cu113-cp310-cp310-linux_x86_64.whl pip install ./torchvision-0.13.1+cu113-cp310-cp310-linux_x86_64.whl pip install ./torchaudio-0.12.1+cu113-cp310-cp310-linux_x86_64.whl

2.后续其他包安装

pip install ultralytics==8.3.0 pip install "tensorboard<3.0" -i https://pypi.tuna.tsinghua.edu.cn/simple 输入 yolo checks ,报错ModuleNotFoundError: No module named 'numpy.core.multiarray' 解决如下: pip uninstall numpy opencv-python opencv-python-headless -y pip install numpy==1.23.5 -i https://pypi.tuna.tsinghua.edu.cn/simple pip install opencv-python-headless==4.8.1.78 -i https://pypi.tuna.tsinghua.edu.cn/simple # 校验numpy python -c "import numpy; print('numpy:',numpy.__version__)" # 校验opencv python -c "import cv2; print('cv2:',cv2.__version__)" # ultralytics整体环境检查 yolo checks

如果这些全部正常,你的环境基本就是:

服务器 NVIDIA Driver ↓ 最高 CUDA 11.4 Conda lifting_yolo11 ↓ Python 3.10 ↓ PyTorch 1.12.1 ↓ CUDA Runtime 11.3 ↓ Ultralytics 8.3.0 ↓ YOLO11

1.3 检查ultralytics安装是否成功

yolo checks

再查看版本

yolo version

顺便检查torch

python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"

2 yolo11预训练模型准备

本项目正式基线训练使用 Ultralytics 官方的 COCO 预训练权重:yolo11s.pt

其中:

  • yolo11表示 YOLO11 系列。

  • s表示 Small 规模,精度、速度和 T4 显存占用比较均衡。

  • .pt是 PyTorch 权重文件。

方式1:无需准备

  • 训练命令中的model=yolo11s.pt会让 Ultralytics 在当前目录找不到该文件时自动从官方地址下载,因此联网环境不必提前手工下载:
  • 参数model直接等于模型名词即可

方式2:提前下好模型

官网模型下载:

  • 方式1:https://github.com/ultralytics/assets/releases/tag/v8.3.0

  • 方式2:Ultralytics YOLO11 | Ultralytics 然后点击Performance下面具体的yolo11s或yolo11m,调整具体页面,然后点右上角clone model即可下载

  • 训练时,参数指定具体模型路径: model=..\..\weights\yolo11s.pt

3 数据检查

3.1 图片数量和标注文件数量核对

cd /mnt/1E84006284003F31/jonesky2025-2026/1.起重作业项目/模型训练/yolo_dataset

#统计train图片数量 ls -1 ./images/train | wc -l #统计train标签数量 ls -1 ./labels/train | wc -l #统计val图片数量 ls -1 ./images/val | wc -l #统计val标签数量 ls -1 ./labels/val | wc -l

3.2 文件命名检查

扫描 4 个数据集文件夹,找出文件名包含中文、空格、全角字符的文件并打印完整路径。 YOLO 数据集严禁文件名带中文、空格,会导致训练读取异常、标签匹配失败。

find ./images/train ./images/val ./labels/train ./labels/val -maxdepth 1 -type f | perl -ne 'chomp; $fn = $1 if /\/([^\/]+)$/; print "$_\n" if $fn =~ /\s|[^\x20-\x7E]/'

4 模型训练

4.1 参数说明

参数含义说明补充 / 适配当前环境
model=yolo11s.pt预训练权重文件;yolo11s = 小模型,速度快、精度中等;yolo11m 更大精度更高无网络手动上传文件到当前目录;自动下载失败可离线导入
data=data.yaml数据集配置文件路径,包含训练 / 验证集路径、类别名称、类别总数当前目录直接读取,文件内path: .适配本机路径
epochs=150完整训练轮次,模型完整遍历全部图片 150 次轮数越大拟合越好,但容易过拟合;配合 patience 早停
imgsz=960输入网络图片统一分辨率,长宽都缩放至 960 像素960 识别小物体更好,但显存占用大幅提升;OOM 报错改成 640
batch=8单次 GPU 并行训练图片数量(批次大小)显存不足优先降到 4/2;越大训练收敛越快
device=0指定使用的 GPU 编号,0 代表第一张显卡无 GPU 环境改为device=cpu;多卡填0,1
workers=4数据加载进程数,多线程读取本地图片加速训练Linux 推荐 4;Windows 必须 = 0;出现 dataloader 管道报错改为 0
patience=30早停机制:连续 30 轮验证集 mAP 无提升,自动终止训练防止过拟合,节约训练时间;设 0 关闭早停
optimizer=auto优化器选择,auto 默认使用 AdamW可选:SGD、Adam;AdamW 对目标检测收敛更稳
cos_lr=True开启余弦退火学习率调度训练初期学习率高快速收敛,后期缓慢下降精细调优;False 则固定步长衰减
mosaic=0马赛克数据增强开关;1 开启、0 关闭PyTorch1.12.1 老旧版本开启会算子报错,强制关闭
mixup=0图片混合增强,两张图融合生成新样本;0 关闭同上,老 Torch 环境兼容,全程禁用
copy_paste=0复制粘贴增强,复制物体粘贴到其他图扩充样本;0 关闭开启会引发旧框架报错,固定设 0
project=../../runs/detect训练结果根目录../是 Linux 上级目录,代表训练结果存在数据集上两级文件夹,不污染数据集
name=lift_yolo11s_img960_e150本次实验文件夹名称权重、曲线图、预测图、日志都会存在../../runs/detect/lift_yolo11s_img960_e150

注意:

  • close_mosaic=20:前 20 轮关闭马赛克,20 轮后自动开启为什么删掉:你的 PyTorch1.12.1 不支持 mosaic 增强,20 轮后开启会直接训练崩溃,因此该参数不可使用,全程固定mosaic=0
  • Mosaic 是 YOLO 系列经典数据增强手段,操作逻辑: 随机选取4 张训练图片,分别裁剪目标区域,拼接成一张新大图,再随机缩放、翻转、色彩扰动。 简单说:1 张合成图 = 4 张原图混合。
  • 虽然永不了mosaic,但是可用其他早期版本的参数实现类似功能,适配 ultralytics==8.3.0 + PyTorch1.12.1,新增补偿增强参数,标注补偿用途
hsv_h=0.015 hsv_s=0.7 hsv_v=0.4 # 色彩抖动(亮度/饱和度/色相随机变换) flipud=0.0 fliplr=0.5 # 左右翻转(上下翻转关闭,起重设备上下颠倒无意义) scale=0.5 # 随机缩放,模拟远近物体
参数详细含义环境适配 & 特殊说明
model=yolo11s.pt训练初始化预训练权重;s 为轻量模型,速度快、精度中等自动下载权重,无外网可手动上传至当前目录
data=data.yaml数据集配置文件,定义训练 / 验证路径、目标类别当前目录读取,文件内path: .适配数据集根目录
epochs=200完整遍历数据集的总训练轮次提升轮次弥补关闭 mosaic 带来的特征学习不足
imgsz=960输入网络图像统一缩放分辨率高分辨率强化吊钩、小人等小目标识别,抵消无 mosaic 的劣势
batch=8单次 GPU 并行训练图片数量显存溢出可下调为 4/2
device=0指定使用 GPU 卡号,0 代表第一张显卡无 GPU 则改为device=cpu
workers=4数据加载多进程数量Linux 推荐 4;出现加载报错改为 0
patience=50早停阈值:连续 50 轮 val 指标不提升则停止训练延长早停等待,给模型充足学习时间
optimizer=auto优化器,auto 默认 AdamW收敛稳定,适合检测任务
cos_lr=True开启余弦退火学习率前期大步快速拟合,后期精细微调目标特征
mosaic=0马赛克增强开关,0 = 关闭PyTorch1.12.1 强制关闭,开启会训练报错崩溃
mixup=0图像混合增强开关,0 = 关闭老旧 PyTorch 算子不兼容,必须禁用
copy_paste=0物体复制粘贴增强,0 = 关闭老旧 PyTorch 算子不兼容,必须禁用
hsv_h=0.015HSV 色相随机扰动幅度【mosaic 补偿增强,兼容 PyTorch1.12.1】随机改变画面色调,适应工地不同光照、色差
hsv_s=0.7HSV 饱和度随机扰动幅度【mosaic 补偿增强,兼容 PyTorch1.12.】随机增减画面鲜艳度,应对阴天 / 强光拍摄画面
hsv_v=0.4HSV 亮度随机扰动幅度【mosaic 补偿增强,兼容 PyTorch1.12.1】模拟逆光、阴影、强光等工地复杂光线
flipud=0.0上下翻转概率 0 = 不开启【mosaic 补偿增强,兼容 PyTorch1.12.1】起重设备上下颠倒不符合真实工况,禁用避免引入无效样本
fliplr=0.5左右翻转概率 50%【mosaic 补偿增强,兼容 PyTorch1.12.1】设备左右镜像属于合理工况,扩充样本多样性
scale=0.5随机缩放系数【mosaic 补偿增强,兼容 PyTorch1.12.1】随机放大缩小图像,模拟远距离 / 近距离拍摄,弥补小目标训练不足
project=../../runs/detect训练结果根目录Linux 路径写法,结果保存在数据集上级两级文件夹
name=lift_yolo11s_img960_e200本次实验文件夹名权重、训练曲线、预测图全部存到此文件夹

4.2 模型训练命令

  • 无数据增强版的模型训练命令
cd /mnt/1E84006284003F31/jonesky2025-2026/1.起重作业项目/模型训练/yolo_dataset yolo detect train \ model=yolo11s.pt \ data=data.yaml \ epochs=150 \ imgsz=960 \ batch=8 \ device=0 \ workers=4 \ patience=30 \ optimizer=auto \ cos_lr=True \ mosaic=0 \ mixup=0 \ copy_paste=0 \ project=../../runs/detect \ name=lift_yolo11s_img960_e150
  • 数据增强版的模型训练命令(先用这版试试)
cd /mnt/1E84006284003F31/jonesky2025-2026/1.起重作业项目/模型训练/yolo_dataset yolo detect train \ model=yolo11s.pt \ data=data.yaml \ epochs=200 \ imgsz=960 \ batch=8 \ device=0 \ workers=4 \ patience=50 \ optimizer=auto \ cos_lr=True \ mosaic=0 \ mixup=0 \ copy_paste=0 \ hsv_h=0.015 \ hsv_s=0.7 \ hsv_v=0.4 \ fliplr=0.5 \ scale=0.5 \ project=../../runs/detect \ name=lift_yolo11s_img960_e200
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/15 9:58:39

Go 单元测试从零到一:表格驱动、基准测试与 Mock 实战指南

Go 单元测试从零到一&#xff1a;表格驱动、基准测试与 Mock 实战 Go 单元测试从零到一&#xff1a;表格驱动、基准测试与 Mock 实战写在前面一、Go 单元测试1. 什么是单元测试&#xff1f;2. 测试文件与测试函数命名规则二、testing.T 常用方法1. t.Errorf()2. t.Fatalf()3. t…

作者头像 李华
网站建设 2026/8/15 9:57:32

WorkBuddy Arduino 协作课:代码会跑还不够,引脚表与硬件版本必须锁死

WorkBuddy Arduino 协作课:代码会跑还不够,引脚表与硬件版本必须锁死 [!NOTE] Arduino 项目常因示例代码里的引脚号与实际板卡不一致而浪费时间。最稳的做法是让固件常量、原理图网络和接线说明由同一份引脚合同生成。 本课不会用“AI 一键完成”制造错觉,而是把 WorkBuddy、…

作者头像 李华
网站建设 2026/8/15 9:54:39

vLLM推理性能优化:Proxima如何通过消除KV Cache内存碎片提升4倍吞吐量

如果你正在用 vLLM 部署大模型&#xff0c;并且感觉 GPU 显存总是不够用、请求吞吐量上不去&#xff0c;那么这篇文章就是为你准备的。最近&#xff0c;一个名为Proxima的项目在开发者社区引起了不小的关注。它的核心卖点非常直接&#xff1a;在不增加任何硬件成本的情况下&…

作者头像 李华
网站建设 2026/8/15 9:49:14

设备供应商服务半径的量化评估:响应时效与备件供应能力分析

设备供应商的服务半径是衡量其服务能力的重要指标。本文从响应时效和备件供应两个维度进行量化分析。一、响应时效的量化标准指标量化标准评估方法响应时间≤4小时从报修到工程师响应的时间到达时间≤24小时从响应到工程师到达现场的时间二、备件供应能力的量化标准备件本地库存…

作者头像 李华