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、预测结果为:

相关文章
|
1月前
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
1328 1
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
1月前
|
机器学习/深度学习 监控 计算机视觉
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
本文介绍了如何使用YOLOv7进行目标检测,包括环境搭建、数据集准备、模型训练、验证、测试以及常见错误的解决方法。YOLOv7以其高效性能和准确率在目标检测领域受到关注,适用于自动驾驶、安防监控等场景。文中提供了源码和论文链接,以及详细的步骤说明,适合深度学习实践者参考。
332 0
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
1月前
|
机器学习/深度学习 并行计算 数据可视化
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
95 0
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
|
1月前
|
机器学习/深度学习 JSON 算法
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
本文介绍了DeepLab V3在语义分割中的应用,包括数据集准备、模型训练、测试和评估,提供了代码和资源链接。
194 0
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
|
1月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
51 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
|
1月前
|
机器学习/深度学习 XML 并行计算
目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用YOLOX完成图像目标检测任务的完整流程,包括数据准备、模型训练、验证和测试。
166 0
目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
10天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
42 3
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
63 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
242 7
Jmeter实现WebSocket协议的接口测试方法
|
2月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
252 3
快速上手|HTTP 接口功能自动化测试