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

相关文章
|
2月前
|
机器学习/深度学习
神经网络与深度学习---验证集(测试集)准确率高于训练集准确率的原因
本文分析了神经网络中验证集(测试集)准确率高于训练集准确率的四个可能原因,包括数据集大小和分布不均、模型正则化过度、批处理后准确率计算时机不同,以及训练集预处理过度导致分布变化。
|
25天前
|
机器学习/深度学习 Python
训练集、测试集与验证集:机器学习模型评估的基石
在机器学习中,数据集通常被划分为训练集、验证集和测试集,以评估模型性能并调整参数。训练集用于拟合模型,验证集用于调整超参数和防止过拟合,测试集则用于评估最终模型性能。本文详细介绍了这三个集合的作用,并通过代码示例展示了如何进行数据集的划分。合理的划分有助于提升模型的泛化能力。
|
27天前
|
人工智能 测试技术 PyTorch
AI计算机视觉笔记二十四:YOLOP 训练+测试+模型评估
本文介绍了通过正点原子的ATK-3568了解并实现YOLOP(You Only Look Once for Panoptic Driving Perception)的过程,包括训练、测试、转换为ONNX格式及在ONNX Runtime上的部署。YOLOP由华中科技大学团队于2021年发布,可在Jetson TX2上达到23FPS,实现了目标检测、可行驶区域分割和车道线检测的多任务学习。文章详细记录了环境搭建、训练数据准备、模型转换和测试等步骤,并解决了ONNX转换过程中的问题。
|
4月前
|
测试技术 Linux 开发工具
软件测试之【面试题综合训练题】
软件测试之【面试题综合训练题】
58 0
|
5月前
|
人工智能 监控 数据处理
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程
107 0
|
5月前
|
Python
Pycharm运行提示(运行‘Python测试(00.py内)‘(u)
Pycharm运行提示(运行‘Python测试(00.py内)‘(u)
|
23天前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
106 7
Jmeter实现WebSocket协议的接口测试方法
|
23天前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
101 3
快速上手|HTTP 接口功能自动化测试
|
23天前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
31 5
|
2月前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~
下一篇
无影云桌面