yolov7训练自己的数据集(pycharm上训练测试)

简介: yolov7训练自己的数据集(pycharm上训练测试)

一、环境搭建

环境搭建的具体过程在另一篇博文中有讲到:

Anaconda+Cuda+Cudnn+Pytorch(GPU版)+Pycharm+Win11深度学习环境配置

二、下载yolov7源码

从github上下载的源码:下载地址

下载权重,并将其放入下载好的yolov7-main文件下,创建weights文件夹,将下载好的权重放入其中。下载权重是根据自己使用的算法下载的,我使用的是yolov7,所以下载的权重就是yolov7.pt 下载地址

三、实现训练测试自己数据集的过程

根据b站这个视频学习的:YoloV7 如何训练自己的数据集 分分钟教会你

1、将自己的数据集放入data文件夹下。这个数据集是一个对苹果、香蕉的判别以及对其好坏的判别。

2、在data文件夹下复制coco.yaml文件,粘贴成文件mydata.yaml,对mydata.yaml中的一些数据进行修改。

# 上面images文件的位置
train: ./data/coco/images/train_fruit # 118287 images
val: ./data/coco/images/val_fruit  # 5000 images
test: ./data/coco/images/val_fruit  # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794
# number of classes
nc: 4  # 修改为自己的类别数量
# class names
names: ["第一个标签", "第二个标签","第三个标签","第四个标签"]   # 自己来的类别名称

3、将cfg文件夹下的training文件夹下的yolov7.yaml文件复制粘贴为my_yolov7.yaml文件,并对my_yolov7.yaml的nc值进行修改,这个文件只需要修改这里即可。这里复制粘贴文件取决于自己使用的是什么算法,我是用的是yolov7,如果使用的是yolov7x,那么复制的就是yolov7x文件。

nc代表的值是类别数,修改为自己数据集的类别数即可。

4、对train.py中的值进行修改

5、运行train.py文件即可,中间可能会报错,缺少哪个模块等,可以通过pip install下载对应模块即可,部分模块下载时名字不太一样,如果pip install失败,那么可以百度搜索,就可以找到真正应该下载的名字。

训练的结果如上图所示。

6、进行预测,对detect.py文件进行修改。只需要对weights中的default值进行修改。在训练完成后会出现runs/train/exp2/weights文件夹,将weights中的default的值修改为它里面文件best.pt的位置即可。

7、测试的图片在inference/images文件夹下,在里面存入自己想要测试的图片。

这个测试图片的地址在detect.py文件中的–source的default里设置。

8、运行detect.py文件,即可得到相应图片的预测结果,预测结果保存在runs/detect/expx文件下。

9、预测结果为:

目录
打赏
0
0
0
0
6
分享
相关文章
UGMathBench:评估语言模型数学推理能力的动态基准测试数据集
近年来,人工智能蓬勃发展,自然语言模型(LLM)进展显著。语言模型被广泛应用于自动翻译、智能客服、甚至医疗、金融、天气等领域。而研究者们仍在不断努力,致力于提高语言模型的规模和性能。随着语言模型的蓬勃发展,评估一个语言模型的性能变得越来越重要。其中一个重要的评估指标,就是衡量语言模型的推理能力和解决数学问题的能力。
207 38
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
本文介绍了如何使用YOLOv7进行目标检测,包括环境搭建、数据集准备、模型训练、验证、测试以及常见错误的解决方法。YOLOv7以其高效性能和准确率在目标检测领域受到关注,适用于自动驾驶、安防监控等场景。文中提供了源码和论文链接,以及详细的步骤说明,适合深度学习实践者参考。
2225 1
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
603 0
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
本文介绍了DeepLab V3在语义分割中的应用,包括数据集准备、模型训练、测试和评估,提供了代码和资源链接。
1791 0
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
302 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用YOLOX完成图像目标检测任务的完整流程,包括数据准备、模型训练、验证和测试。
803 0
目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
291 23
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
333 24
除了postman还有什么接口测试工具
最好还是使用国内的接口测试软件,其实国内替换postman的软件有很多,这里我推荐使用yunedit-post这款接口测试工具来代替postman,因为它除了接口测试功能外,在动态参数的支持、后置处理执行sql语句等支持方面做得比较好。而且还有接口分享功能,可以生成接口文档给团队在线浏览。
165 2
Socket.IO介绍,以及怎么连接测试Socket.IO接口?
Socket.IO 是一个用于浏览器和服务器间实时双向通信的库,支持低延迟消息传递、跨平台运行及自动重连。文章介绍了其特点与调试需求,并详细说明如何使用 Apifox 工具创建、连接、发送/接收 Socket.IO 事件,以及团队协作和调试技巧。掌握这些技能可提升实时应用开发效率与质量。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等