torch会自动被requirement.txt替换

在对yolov5_5.0进行pip install requirement.txt后,yolo5_5.0会将虚拟环境中中的torch替换为2.0.1版本的,但要注意查看该torch是否为gpu版本,查看方式如下:打开Anaconda Prompt,激活相应环境,输入python,输入import torch 及 torch.cuda.is_available(),就可查看cuda是否可用。事实证明,被更换后的torch版本是cpu版本。

安装gpu版本的torch并卸载cpu版本的torch

安装gpu版本的torch见这篇博文,注意使用清华镜像下载:-i https://pypi.tuna.tsinghua.edu.cn/simple(9条消息) PyTorch1.9.1 GPU版本安装(python3.8+pyTorch1.9.1, torch1.9.1/cu111 + torchvision0.10.1/cu111)_python3.8对应的pytorch_weixin_39450145的博客-CSDN博客https://blog.csdn.net/weixin_39450145/article/details/126454261卸载原有的torch注意在conda的命令窗口中无法执行,需要使用pip才能顺利卸载。

显卡驱动太高

安装torch2.0.1gpu版本之后,在运行train时报错ddl,原因是显卡驱动版本太高了,torch不兼容,例如我的显卡驱动为12.4(当下最新的驱动,事实证明,最新的技术要承担不兼容的风险),所以在控制面板的程序中删除对应的显卡,安装12.0以下版本的显卡驱动,安装10.2版本的驱动,如果安装11.7版本的显卡驱动,会出现问题:训练时box obj total都为nan。

先用小样本调试

一开始不要用很大的样本训练,先用一个小样本的数据集训练,比如coco128,方便排查各种问题。

colab训练

colab模型的传输

直接将项目的zip文件拖到content目录之下  解压命令:

!unzip file.zip -d /path/to/destination//file.zip:要解压的ZIP文件的名称。
///path/to/destination:要将文件解压到的目标目录路径。

colab数据集的传输

先将数据集的zip文件上传到谷歌硬盘上面,如下:

进入ipynb,点击装载云盘:

装在云盘完成之后,进入路径 /content/drive/MyDrive/Colab Notebooks,就能看到自己上传的压缩文件。

解压上传的数据集

# 解压缩文件
import zipfile
file_dir = '/content/drive/MyDrive/Colab Notebooks/datasets.zip'  # 压缩包路径
zipFile = zipfile.ZipFile(file_dir)
for file in zipFile.namelist():zipFile.extract(file, '/content')  # 解压路径
zipFile.close()

box obj total都为nan

用的显卡版本为cuda11.7,将其改为10.2就好了,具体方法为,在Index of /anaconda/cloud/pytorch/win-64/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirrorhttps://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/这个网站找对应的torch版本并下载,然后在conda prompt中安装(安装命令为 conda install 下载文件路径),在官网(Previous PyTorch Versions | PyTorch)中找到对应版本的torchvision,torchaudio,cudatoolkit并下载。

清华源的使用

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名
//conda prompt中也能运行

“OSError: [WinError 1455]页面文件太小,无法完成操作。”解决方案

(9条消息) “OSError: [WinError 1455]页面文件太小,无法完成操作。”解决方案_页面文件太小,无法完成操作_indigo love的博客-CSDN博客https://blog.csdn.net/weixin_46133643/article/details/125042903?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168525951116782427453854%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168525951116782427453854&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-125042903-null-null.142^v88^control_2,239^v2^insert_chatgpt&utm_term=OSError%3A%20%5BWinError%201455%5D%20%E9%A1%B5%E9%9D%A2%E6%96%87%E4%BB%B6%E5%A4%AA%E5%B0%8F%EF%BC%8C%E6%97%A0%E6%B3%95%E5%AE%8C%E6%88%90%E6%93%8D%E4%BD%9C%E3%80%82%20Error%20loading%20D%3A%5Csoftware_deep_learning%5Canaconda%5Cenvs%5Cpytorch_2.0.1%5Clib%5Csite-packages%5Ctorch%5Clib%5Ccaffe2_detectron_ops_gpu.dll%20or%20one%20of%20its%20dependencies.&spm=1018.2226.3001.4187https://blog.csdn.net/weixin_46133643/article/details/125042903?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168525951116782427453854%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168525951116782427453854&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-125042903-null-null.142%5Ev88%5Econtrol_2,239%5Ev2%5Einsert_chatgpt&utm_term=OSError%3A%20%5BWinError%201455%5D%20%E9%A1%B5%E9%9D%A2%E6%96%87%E4%BB%B6%E5%A4%AA%E5%B0%8F%EF%BC%8C%E6%97%A0%E6%B3%95%E5%AE%8C%E6%88%90%E6%93%8D%E4%BD%9C%E3%80%82%20Error%20loading%20D%3A%5Csoftware_deep_learning%5Canaconda%5Cenvs%5Cpytorch_2.0.1%5Clib%5Csite-packages%5Ctorch%5Clib%5Ccaffe2_detectron_ops_gpu.dll%20or%20one%20of%20its%20dependencies.&spm=1018.2226.3001.4187

KeyError:momentum

这是因为用adam训练出来的权重,不能用于训练sdg的模型。

训练出来的权值在评估数据集上的精度非常低

1、检查数据集的标签是否有问题

具体操作为,使用一张图片为例,对转yolo格式的程序进行debug,检查过程中是否出错。

2、检查模型是否有问题

对已有的数据集coco128,进行训练及测试,发现模型正常工作。

3、检查预训练权重是否合适

从ultralytics上下载的yolov5s.pt预训练权重,是从coco数据集上训练得到的,coco数据集的识别的80类别里面,并没有直接包含车牌的类别,所以我认为这是训练后测试的精度非常低的主要原因。针对以上的分析,我对模型进行从头开始训练,问题得到有效解决。结论就是,当识别的目标完全不同时,直接套用预训练权重可能会出现精度很低的问题。

yolov5训练时遇到的问题相关推荐

  1. YOLOv5训练数据提示No labels found、with_suffix使用、yolov5训练时出现WARNING: Ignoring corrupted image and/or label

    YOLOv5训练数据提示No labels found[亲测yolo加载label文件只需要修改img2label_paths函数改变就可以加载到label文件了] 仔细看下数据加载.处理的文件dat ...

  2. yolov5训练时卡住0%解决方案

    用yolov5训练从labelImg标注的数据时,训练时一直卡在0%: Image sizes 640 train, 640 val Using 4 dataloader workers Loggin ...

  3. 解决YOLOV5训练时P、R、mAP等值均为0的问题

    最近用YOLOV5训练自己的数据集,出现了训练失败的情况,比如box,obj,cls,labels等均为nan或0,找了很多办法,其实就是cuda与PyTorch版本的问题 Epoch gpu_mem ...

  4. 基于深度学习的农作物叶片病害检测系统(UI界面+YOLOv5+训练数据集)

    摘要:农作物叶片病害检测系统用于智能检测常见农作物叶片病害情况,自动化标注.记录和保存病害位置和类型,辅助作物病害防治以增加产值.本文详细介绍基于YOLOv5深度学习模型的农作物叶片病害检测系统,在介 ...

  5. 基于深度学习的瓶子检测软件(UI界面+YOLOv5+训练数据集)

    摘要:基于深度学习的瓶子检测软件用于自动化瓶子检测与识别,对于各种场景下的塑料瓶.玻璃瓶等进行检测并计数,辅助计算机瓶子生产回收等工序.本文详细介绍深度学习的瓶子检测软件,在介绍算法原理的同时,给出P ...

  6. 水果新鲜程度检测系统(UI界面+YOLOv5+训练数据集)

    摘要:水果新鲜程度检测软件用于检测水果新鲜程度,利用深度学习技术识别腐败或损坏的水果,以辅助挑拣出新鲜水果,支持实时在线检测.本文详细介绍水果新鲜程度检测系统,在介绍算法原理的同时,给出Python的 ...

  7. Yolov5训练自己的数据集+TensorRT加速+Qt部署

    本人由于项目要求,需要利用Yolov5网络训练自己的目标检测与分类模型,并利用TensorRT加速将其部署到Qt界面上.目前已经实现了整个流程,写下这篇博客供需要的各位参考.(本文描述的重点主要是在后 ...

  8. YOLOv5训练自己的数据集实现视频的识别

    写在前面 我本来是使用这个模型进行手写签名的定位,但是因为比赛的主办方原因,数据不允许公开,所以我使用动物世界的一段开头视屏来制作我的数据集.这整个模型跑通的过程中,我参考了很多不错的博客,写这篇博客 ...

  9. YOLOV5训练数据集过程中特殊问题记录

    项目场景: yolov5训练GX数据集 问题描述: 运行train.py Traceback (most recent call last):File "/home/milk/yolov52 ...

最新文章

  1. LeetCode算法题-Reverse Linked List(Java实现)
  2. jQuery中读取json文件示例代码
  3. WIN7 X64 Setup Oracle Developer Suite 10g
  4. python 斐波那契数列
  5. Hadoop学习笔记—5.自定义类型处理手机上网日志
  6. 完全公平调度 c语言,使用完全公平调度程序(CFS)进行多任务处理
  7. 如何在VM ware虚拟环境下建立纯软双机热备
  8. Map转成JSON对象
  9. 原理解析!传智播客java基础入门第二版课后答案
  10. 夏普ar2048s打印机驱动安装_驱动人生 下载安装打印机驱动的方法
  11. 微信微博防劫持短网址生成
  12. Python GUI - 利用Tkinter制作个性签名设计软件!
  13. 2018-2019ICPC焦作C题Supreme Command kd-tree
  14. java web 怎么实现直播_java web开发直播平台可以实现但有缺陷
  15. 暑期训练day14 A. XXXXX
  16. 第三方接入支付宝授权登录(支付宝新建应用没有公钥和私钥)问题
  17. java 修改mysql数据库表结构_MYSQL数据库表结构优化方法详解
  18. pos机顾显java控制打印内容,使用POS打印机进行Java收据打印
  19. 平阳县抖音平台直播运营主播带货第三期培训提升班开班啦!
  20. Box2D和Chipmunk

热门文章

  1. 单片机学习笔记 —— 导航按键
  2. centos服务器安装OneinStack
  3. 新手向 使用C#自带方法制作unity存档系统(无插件)
  4. 安装rocon、kobuki、turtlebot
  5. turtlebot2 使用代码
  6. word整个表格首行缩进_word2010表格缩进 word表格首行缩进
  7. 什么是并查集?【建议收藏】
  8. 软考论文难?那是你没用这个方法
  9. 在NUC972上利用pjsip实现VOIP网关
  10. 5福最多多少钱_集5福 2018支付宝集5福活动攻略:最高可以分多少钱?