yolov5训练自己数据集的全流程+踩过的坑

一,拿到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
相关推荐
nice-wyh2 小时前
yolov7-3d算法原理
yolo
Wis4e2 小时前
基于PyTorch的深度学习5——神经网络工具箱
pytorch·深度学习·神经网络
闲人编程2 小时前
调试与性能优化技巧
人工智能·pytorch·深度学习
T0uken3 小时前
【深度学习】Pytorch:更换激活函数
人工智能·pytorch·深度学习
张琪杭3 小时前
pytorch tensor创建tensor
人工智能·pytorch·python
轻口味3 小时前
【每日学点HarmonyOS Next知识】状态栏控制、片段按钮点击回调、绘制组件、取消按钮与输入框对齐、父调子组件方法
pytorch·华为·harmonyos·harmonyosnext
Wis4e6 小时前
基于PyTorch的深度学习3——非标量反向传播
人工智能·pytorch·深度学习
机器学习小小白7 小时前
【深入解析Inception网络:从V1到V3的理论演进与对比,包含pytorch实现Inception模块的代码】
pytorch·深度学习·神经网络·inception
卧式纯绿9 小时前
每天一篇《目标检测》文献(一)
人工智能·yolo·目标检测·计算机视觉·cnn