You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

YOLOv8训练扫描训练集后冻结,GPU/CPU均出现该问题

YOLOv8训练扫描数据集后冻结的解决方案

问题情况

  • 启动YOLOv8 GPU训练,完成训练集图像扫描后程序冻结
  • 切换至CPU运行,问题仍存在
  • 程序停止时的输出日志(已翻译为中文):
Ultralytics YOLOv8.1.6 🚀 Python-3.11.7 torch-2.1.2+cu121 CUDA:0 (NVIDIA GeForce RTX 4070 SUPER, 12281MiB)
engine\trainer: 任务=检测, 模式=训练, 模型=yolov8s.yaml, 数据=path_n_class.yaml, 轮次=300, 时间限制=None, 早停耐心值=50, 批次大小=16, 图像尺寸=640, 保存模型=True, 保存周期=-1, 数据集缓存=False, 设备=0, 数据加载线程数=8, 项目名称=None, 训练任务名称=train, 覆盖已有任务=False, 使用预训练权重=True, 优化器=自动选择, 详细日志输出=True, 随机种子=0, 确定性训练=True, 单类别训练=False, 矩形训练=False, 余弦学习率调度=False, 关闭马赛克增强轮次=10, 续训=False, 自动混合精度训练=True, 训练数据比例=1.0, 性能分析=False, 冻结层=None, 多尺度训练=False, 掩码重叠=True, 掩码比例=4, Dropout=0.0, 验证=True, 验证集划分=val, 保存JSON格式结果=False, 保存混合模型=False, 检测置信度阈值=None, IOU阈值=0.7, 最大检测数=300, 半精度训练=False, 使用DNN后端=False, 生成训练曲线=True, 数据源=None, 视频帧步长=1, 流缓冲区=False, 可视化模型=False, 测试增强=False, 类别无关NMS=False, 指定训练类别=None, 视网膜掩码=False, 嵌入提取=None, 显示检测结果=False, 保存视频帧=False, 保存TXT格式检测结果=False, 保存置信度=False, 保存检测裁剪图=False, 显示标签=True, 显示置信度=True, 显示检测框=True, 框线宽度=None, 导出格式=torchscript, Keras格式导出=False, 模型优化=False, INT8量化=False, 动态导出=False, 模型简化=False, ONNX opset版本=None, 工作区大小=4, 禁用NMS=False, 初始学习率=0.01, 最终学习率=0.01, 动量=0.937, 权重衰减=0.0005, 热身轮次=3.0, 热身动量=0.8, 热身偏置学习率=0.1, 框损失权重=7.5, 分类损失权重=0.5, DFL损失权重=1.5, 姿态损失权重=12.0, 关键点目标损失权重=1.0, 标签平滑=0.0, 有效批次大小=64, HSV色调扰动=0.015, HSV饱和度扰动=0.7, HSV明度扰动=0.4, 旋转角度=0.0, 平移幅度=0.1, 缩放幅度=0.5, 剪切角度=0.0, 透视变换=0.0, 上下翻转概率=0.0, 左右翻转概率=0.5, 马赛克增强概率=1.0, Mixup增强概率=0.0, Copy-Paste增强概率=0.0, 自动增强策略=randaugment, 随机擦除概率=0.4, 裁剪比例=1.0, 配置文件=None, 跟踪器配置=botsort.yaml, 结果保存目录=runs\detect\train
覆盖model.yaml中的类别数nc=80为nc=1

                   输入来源  层数    参数数量  模块名称                                       模块参数                     
  0                  -1  1       928  ultralytics.nn.modules.conv.Conv             [3, 32, 3, 2]                 
  1                  -1  1     18560  ultralytics.nn.modules.conv.Conv             [32, 64, 3, 2]                
  2                  -1  1     29056  ultralytics.nn.modules.block.C2f             [64, 64, 1, True]              
  3                  -1  1     73984  ultralytics.nn.modules.conv.Conv             [64, 128, 3, 2]               
  4                  -1  2    197632  ultralytics.nn.modules.block.C2f             [128, 128, 2, True]           
  5                  -1  1    295424  ultralytics.nn.modules.conv.Conv             [128, 256, 3, 2]              
  6                  -1  2    788480  ultralytics.nn.modules.block.C2f             [256, 256, 2, True]           
  7                  -1  1   1180672  ultralytics.nn.modules.conv.Conv             [256, 512, 3, 2]              
  8                  -1  1   1838080  ultralytics.nn.modules.block.C2f             [512, 512, 1, True]           
  9                  -1  1    656896  ultralytics.nn.modules.block.SPPF            [512, 512, 5]                 
 10                  -1  1         0  torch.nn.modules.upsampling.Upsample         [None, 2, 'nearest']          
 11             [-1, 6]  1         0  ultralytics.nn.modules.conv.Concat           [1]                            
 12                  -1  1    591360  ultralytics.nn.modules.block.C2f             [768, 256, 1]                 
 13                  -1  1         0  torch.nn.modules.upsampling.Upsample         [None, 2, 'nearest']          
 14             [-1, 4]  1         0  ultralytics.nn.modules.conv.Concat           [1]                            
 15                  -1  1    148224  ultralytics.nn.modules.block.C2f             [384, 128, 1]                 
 16                  -1  1    147712  ultralytics.nn.modules.conv.Conv             [128, 128, 3, 2]              
 17            [-1, 12]  1         0  ultralytics.nn.modules.conv.Concat           [1]                            
 18                  -1  1    493056  ultralytics.nn.modules.block.C2f             [384, 256, 1]                 
 19                  -1  1    590336  ultralytics.nn.modules.conv.Conv             [256, 256, 3, 2]              
 20             [-1, 9]  1         0  ultralytics.nn.modules.conv.Concat           [1]                            
 21                  -1  1   1969152  ultralytics.nn.modules.block.C2f             [768, 512, 1]                 
 22        [15, 18, 21]  1   2116435  ultralytics.nn.modules.head.Detect           [1, [128, 256, 512]]          
YOLOv8s 模型摘要: 225层, 11135987个参数, 11135971个梯度, 28.6 GFLOPs

冻结层'model.22.dfl.conv.weight'
AMP: 正在使用YOLOv8n进行自动混合精度(AMP)兼容性检查...
下载https://github.com/ultralytics/assets/releases/download/v8.1.0/yolov8n.pt到'yolov8n.pt'...
100%|██████████| 6.23M/6.23M [00:00<00:00, 7.51MB/s]
AMP: 检查通过 ✅
训练: 扫描C:\Users\lichs\Desktop\pj\8nano100\training\datasets\data\labels\train.cache... 762张图像, 204张背景图, 0张损坏: 100%|██████████| 762/762 [00:00<?, ?it/s]

解决步骤

  • 调整数据加载线程数:将workers=8改为workers=0或workers=2,避免数据加载阶段出现死锁
  • 启用数据集缓存:添加cache=True参数,将数据集预加载至内存,跳过重复扫描流程
  • 验证数据集格式:手动检查标签文件,确保每行格式为类别ID x_center y_center width height,且坐标为0-1之间的归一化值
  • 降低批次大小:将batch=16调整为batch=8或batch=4,减少内存占用压力
  • 关闭自动混合精度:添加amp=False参数,排除精度转换导致的冻结问题
  • 更新依赖库:升级Ultralytics到最新版本,同时确认PyTorch与CUDA版本匹配

内容的提问来源于stack exchange,提问作者Eric Heitz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 06:13:11