YOLOv5使用
YOLOv5模型使用教程(待更)
安装与改各种东西
1:前往Anaconda.rog安装Anaconda,这是一个python环境隔离工具
2:在github下载YOLOv5源码,这里推荐6.0版本
3:在安装Anaconda的时候,有4个小方框的地方要勾选1 2 4选项,这是安装环境配置,如果不勾选,后续自己添加非常非常非常非常非常麻烦
4:解压YOLOv5,然后打开requirements.txt,把依赖的库版本>=全改成==
如图:
5:打开cmd控制台,输入conda env list 如果没创建过项目,那只会出现base
接下来再输入conda create -n yolo_v5 python=3.8 (python的3.8最稳定)
然后在安装过程中要求选择Proceed([y]/n)? 全选择y就行
然后输入conda activate yolo_v5
然后用cd指令转去你解压的YOLOv5-6.0的文件夹地址,如果提示文件名、目录名或卷标语法不正确,那就改成cd/d 地址
6:先别关控制台,然后我们先去下载一个pyTorch插件(地址:pytorch.org)
然后注意到,我们的requirements里面有提到,要使用torch==1.7.0的版本,如果直接使用pyTorch的最新2.0版本肯定是会报错的,所以我们要去翻历史版本
这里不得不提到说是1.7.0,但还是得用1.8.1
然后我们翻到历史版本的
如果你是30系及以上的显卡,那就按11.1,如果配置比较低,那就试试后面这几个
直接复制这个:
1 | pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html |
到之前的cmd控制台,一定要在(yolov5)环境里面安装,才能够成功
如果成功了,那就会出现这个界面,要下蛮久的,如果之前有安装过,那会直接检测到就拿过来用了,如果中途中断了的话,就要重新开始下
如果无论怎么换源你的网速都很慢,那就挂个梯子然后在pip指令后面加
1 | --proxy http://127.0.0.1:本地端口 |
如果下载途中经常下一半就报错一大片红色代码,就试试把
1 | pip install |
改成
1 | pip --default-timeout=100 install |
下载完成后会提示
1 | Installing collected packages: typing-extensions, pillow, numpy, torch, torchvision, torchaudio |
然后我们输入
1 | python |
进入交互环境,然后输入
1 | import torch |
如果没报错,那就是成功了,然后输入
1 | exit() |
退出
回到requirements.txt文档
把torch和torchvision这两个东西注释掉,因为我们已经手动安装了
这里提一嘴为什么要手动安装,因为它给的pip下载是下载用cpu训练的,我们用gpu训练得手动去下
改成
1 | # torch==1.7.0 |
然后再把opencv改一下
1 | opencv-python==4.1.2.30 #(如果没有4.1.2.30就改成尽可能低的版本) |
然后去运行
1 | pip install -r requirements.txt |
没有报错安装好依赖就可以下一步了
训练
经历了繁琐的安装配置后,终于可以开始训练了QAQ
我们去vscode(或者你用别的编译器,如果是vscode记得要下载python的拓展)打开刚才解压的YOLOv5文件夹,就可以浏览里边的代码了
1 | train.py(训练) |
在vscode里按住Ctrl+Shift+P,然后输入选择解释器,选择python3.8
数据集获取
可以登录https://huggingface.co/网站获取,搜索object detect就可以了
把我们的数据集放在yolo文件夹里的data文件夹里
注意tarin和val文件夹是必须要有的,里面必须严格按照images和lables来命名文件夹存放图片和标签,images里面放你需要用于训练的图片,lables是训练图片的标签(直接把训练图片的后缀jpg改成txt,名称完全一致就好了)
处理好数据集后,在YOLOv5文件根目录创建一个py项目,测试能否读取到图片和边框是否正确,我把代码贴在下面
1 | import os |
正常来讲,会出现这种窗口
–>
数据集处理思路
由于我们放入的数据集肯定是一大坨东西,然后只输出一小坨东西