Yolov5训练高负载但无日志、未生成.pt权重文件问题
Yolov5训练无日志、无权重输出问题修复
- 修复YAML配置缩进错误
写配置文件时三引号内的所有内容都带了8个空格的前置缩进,YAML语法对缩进要求严格,nc、train、backbone这类顶层配置项必须顶格写,多余缩进会导致解析器读不到任何有效参数,训练流程空跑后直接退出。重写配置时去掉三引号内每行的前置空格,子层配置统一用2个空格缩进即可。 - 修正训练命令的配置文件路径
生成的两个yaml文件都存放在yolov5/data/目录下,但训练命令里直接传了文件名,程序默认会在yolov5根目录查找配置文件,无法正确读取data目录下的文件。把训练命令的参数改成--data data/new_data_yaml --cfg data/new_train_yaml即可,也可以直接把两个yaml文件移到yolov5根目录。 - 解决Jupyter环境日志不输出问题
Notebook环境下用!python执行脚本时,默认会开启输出缓冲,进程异常退出时所有打印内容都不会显示。执行训练命令时加-u参数禁用缓冲即可看到实时日志,修正后的训练命令:!python -u train.py --img 416 --batch 5 --epochs 3 --data data/new_data_yaml --cfg data/new_train_yaml - 校验数据集路径
当前配置里训练集和验证集指向了同一个路径,虽然不会导致训练中断,但验证结果没有参考意义,建议拆分训练集验证集后分别配置路径。另外切到yolov5根目录后手动核对../../Images/RoadSignsPascalVOC/images路径是否存在、目录下是否有有效图片文件,避免因路径错误导致数据集加载为空。类名里的Trafic Light存在拼写错误,正确拼写为Traffic Light,可一并修正避免后续推理显示异常。 - 前置校验方法
正式启动训练前,可以先写几行测试代码加载data配置,打印数据集样本数量,确认能正常读取图片后再启动训练,避免空跑浪费时间。
内容的提问来源于stack exchange,提问作者Joshua Jones
相关产品推荐
相关产品推荐

