一,拿到yolov5数据集的第一步是什么呢,安装必要的依赖文件。在requirements.txt文件下存放
bash
pip install -r requirements.txt
二,检查是否可以正常进行检测,在detect.py,文件下,里面有默认的设置文件是可以直接运行的。至于检测的结果放在那里,系统都会给你提示的
bash
python detect.py
三,准备自己的数据集,在这里插入一张图来说明数据集的格式。images/train 里面放的的很多张照片,labels/train 下面放的是对应的很多个txt文件。vocc.yaml里对应训练集路径,评估数据路径,分类。

bash
train: ../vvcc/images/train #训练集的路径
val: ../vvcc/images/val #评估集路径
test: # test images (optional) #用不到
# Classes
names: #分类
0: cat
1: dog
四,开始训练。train.py,在这里yolov5.pt是会自动下载的,也可以自己下载好,放路径就可以了。data就是我们上面准备的数据集yaml文件。
bash
python train.py --data vvcc/vvcc.yaml --weights yolov5s.pt --img 640
第一砊------没有装git。它的报错是这样的。别怕,去安装个git然后把git.exe的路径,添加到系统的path下就可以了。记得重启电脑
bash
All git commands will error until this is rectified.This initial message can be silenced or aggravated in the future by setting the$GIT_PYTHON_REFRESH environment variable. Use one of the following values: - quiet|q|silence|s|silent|none|n|0: for no message or exception - warn|w|warning|log|l|1: for a warning message (logging level CRITICAL, displayed by default) - error|e|exception|raise|r|2: for a raised exceptionExample: export GIT_PYTHON_REFRESH=quiet
验证一下git的安装。在yolov5的路径下随便新建一个文件,运行一下这段代码。(r'D:\Program Files\Git\cmd\git.exe')是安装git的路径
bash
import git
import os
git.refresh(r'D:\Program Files\Git\cmd\git.exe')
os.environ["GIT_PYTHON_REFRESH"] = "quiet"
print(git.__version__) # 应输出如3.1.32
# 测试仓库操作
repo = git.Repo.init('/tmp/test_repo')
print(repo.active_branch) # 应显示'main'或'master'
然后再train的开头添加两行代码
bash
if __name__ == "__main__":
import os
import git
git.refresh(r'D:\Program Files\Git\cmd\git.exe')
os.environ["GIT_PYTHON_REFRESH"] = "quiet"
opt = parse_opt()
main(opt)
安装好后开始第二个砊,Arial.ttf文件,可以手动下载下来放在这个路径下。一定把文件双击打开,安装一下。

好了,到第三个砊。关于workers最好设置一下是1.
bash
python train.py --data vvcc/vvcc.yaml --weights yolov5s.pt --img 640 --workers 1
五,训练完后,测试一下。还在detect.py,在这里注意下一下权重文件的路径,放训练好的pt文件,和测试图片的路径就好。sorce的内容这里有很多种,选择一种就可以。直接输入一张图片的绝对路径也可以的。
bash
python detect.py --weights best.pt --source 0 # webcam
img.jpg # image
vid.mp4 # video
screen # screenshot
path/ # directory
list.txt # list of images
list.streams # list of streams
'path/*.jpg' # glob
'https://youtu.be/LNwODJXcvt4' # YouTube
'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP stream