YOLOv5上手初体验及问题解决

python基础环境的配置

1、推荐先使用Anaconda中为conda中配置一个专用的环境

在Anaconda控制台中输入:conda create --name newName python=3.11

需要注意:cuda要求python版本必须大于3.10

2、安装cuda

直接在Nvidia官网下载安装包即可,速度还不错

CUDA Toolkit 12.4 Update 1 Downloads | NVIDIA Developer

3、配置YOLOv5文件

快速上手YOLOv5:新手教程-CSDN博客文章浏览阅读1.1k次,点赞27次,收藏11次。本教程将通过实验的形式,带领你快速掌握 YOLOv5 目标检测模型的训练过程。注:本次实验是在window环境下进行,且默认已经配置好python环境。https://blog.csdn.net/m0_63292184/article/details/136963850?spm=1001.2014.3001.5501

错误排查

问题一:字符编码报错

GitHub提供的YOLOv5文件中存在表情及一些特殊符号,python的字符编码可能无法覆盖

解决:只需要删除 ./yolov5-6.0\train.py 文件中带🚀和表示文件关系的注释内容即可

UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x80 in position 198: illegal multibyte sequence_data = self.stream.read(size) unicodedecodeerror: -CSDN博客

问题二:N卡驱动版本与CUDA版本不匹配

Nvida自动更新后,安装的旧版本CUDA不再支持,使用cuda:0训练出现错误,cpu训练正常

解决:找到对应版本进行安装英伟达(NVIDIA)显卡、驱动版本与cuda版本对应关系_cuda和驱动的对应-CSDN博客

装好之后就可以使用gpu训练了

问题三:未配置环境变量

使用cuda前需要检查cuda的四个环境变量,才能使用相对路径命令。

解决:如果缺失在path下添加

问题四:attributeerror: 'FreeTypeFont' object has no attribute 'getsize'

YOLOv5中使用的Pillow中的getsize,安装了新版本的 Pillow (10)删除了此功能

解决:在命令行中使用 pip install Pillow==9.5 降级到 Pillow 9.5 解决了该问题

 运行及查看结果集

运行train.py文件

显卡正常识别

上图为使用gpu训练时的资源占用,如果cpu利用率>90% && gpu利用率<20%,说明没有使用gpu训练,检查环境配置及变量是否选择正确。

查看训练结果

在控制台能看到随着训练的进行结果的变化

训练结束后在 .\yolov5-6.0\runs\train 路径下查看运行结果

 结果解析

obj_loss反应模型检测目标存在与否的能力,cls_loss反应模型检测准确性

当val部分的loss曲线明显还有下降的趋势,表示模型欠拟合,模型训练失败。

解决:可以增加epochs的大小(增加模型的训练时间),或者在hyp文件处提高学习率(学习率过高可能导致训练过程不稳定,过拟合,甚至无法收敛)

当val部分的loss曲线明显先下降后上升,表示模型过拟合,模型训练失败。

解决:可以减少epochs的大小、降低学习率或者降低最终学习率。如果上述方法都没有解决过拟合问题,很可能是因为数据集出现问题,需要检查数据集。(是否有空的.txt文件,.txt的类别index是不是错了,标注的时候是不是标了重叠的框框)

我们重点关注val/*_loss部分

基本符合下降趋势没有反转,末端平稳的要求

  • 49
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值