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

基于旧自定义训练权重训练Yolov3新数据时训练终止问题

问题描述

我训练了一个用于检测水瓶及其特征的Yolov3模型,发现无法准确检测cap_missing(瓶盖缺失)类别,于是打算用旧训练权重继续训练新增的相关数据。已完成以下准备工作:

  • 下载并标注了新数据集
  • 生成了train.txt文件
  • 因类别与旧模型一致,未修改cfg/yolov3-custom.cfg和类别.names文件

在Google Colab中执行训练命令:

!./darknet detector train data/custom.data cfg/yolov3-custom.cfg backup/yolov3-custom_last.weights -dont_show

但训练单元直接停止,未开始新数据的训练,附带训练日志截图及Drive存储链接。

排查与解决建议
  • 检查文件路径正确性
    确认custom.data、yolov3-custom.cfg、yolov3-custom_last.weights的路径在Colab环境中是否正确,Colab的文件系统路径可能因挂载Drive的方式不同有变化,可通过!ls命令验证文件是否存在,比如:
    !ls data/
    !ls cfg/
    !ls backup/
    
  • 提取日志关键报错信息
    日志截图里的报错细节是定位问题的核心,重点关注:
    • 是否有文件找不到的提示(如Couldn't open file)
    • 标注文件或train.txt的路径、格式是否符合Darknet要求
    • 旧权重文件是否损坏(可尝试重新复制备份文件,或用初始权重测试训练流程)
  • 验证custom.data配置
    确认custom.data中train字段指向的train.txt路径正确,且train.txt内的图片路径在Colab中可访问,同时核对classes、names字段是否与旧模型完全一致。
  • 检查Colab资源状态
    训练启动时如果遇到GPU资源不足或内存溢出,会直接导致进程停止。可通过“运行时”->“更改运行时类型”确认是否分配了GPU,同时关闭其他占用资源的进程。
  • 简化命令测试流程
    先去掉-dont_show参数查看实时输出,或者用少量测试数据运行训练命令,验证基础流程是否正常。

内容的提问来源于stack exchange,提问作者Abraham Tehseen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 13:14:58