使用train.py----yolov7

2024-05-12 20:20
文章标签 使用 py train yolov7

本文主要是介绍使用train.py----yolov7,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

准备工作

在训练之前,数据集的工作和配置环境的工作要做好

数据集:看这里划分数据集,训练自己的数据集。_划分数据集后如何训练-CSDN博客

划分数据集2,详细说明-CSDN博客

配置环境看这里

从0开始配置环境-yolov7_gpu0是inter gpu1是nvidia 深度学习要用哪个-CSDN博客

参数设置工作

首先就是数据集  , 我之前写的划分数据集的那个文件夹,还有data.yaml文件要设置好,然后将这两个文件放在项目文件夹下面,注意放的位置

给大家做个参考,我把我的放在了

0代表着我的项目文件夹名称

1和2就是我说的这两个文件

在这之后吗,再说其他工作

train.py参数设置

打开train.py文件,往下拉到这

如果找不到的话,安住ctrl+F键,输入               __main__

就可以搜索到

接下来是参数的设置了

weights设置

第一个是weights  ,表示的是预训练权重,这这个东西好比说是让现在训练的模型有一些训练的经验,这样会使得训练精度有一定的提升,但是不一定说一定比没有预训练权重的好,一般来说都要好一些,这个是需要下载预训练权重的,这个东西在github下载的时候那里可以下载,

这几个画圈的蓝色字体点击就可以下载的。一般来说就下载第一个就可以了,其他的参数量大,对电脑的性能要求高。

这里我给一个百度云链接,可以从这下载

链接:https://pan.baidu.com/s/1AKN_gQwnxiyOEVqn7N0rIg?pwd=hi49 
提取码:hi49

下载下来之后,就放在项目文件夹下面就行了,这样就不用改文件路径了,

参考我的位置。

如果不使用预训练权重的画,就

这里面的字删了,改成这样

就可以了,记得改完了保存一下

cfg设置

cfg就是yolov7.yaml这种文件,我们下载的官方代码,这个文件的路径在

只需要右键这个文件,复制相对路径就可以了

粘贴在这

这里要注意,每次复制路径的时候,要把\换成/,就是          cfg/deploy/yolov7.yaml

data设置

这个就是我之前说的数据集弄的那个文件,我放在了主目录文件下,就是

hyp设置

这个是一些超参数的设置,一般别动就行了

epochs设置

这个就是说的跑多少轮,现在默认是300轮,我建议一般的话先跑个100轮先试试,完了之后看看结果咋样,就是那个精度曲线,最后平的话就不用再跑了,如果还有上升的趋势的话就可以设置200再跑跑试试。

batch-size设置

这个和自己的设备有关系,如果用显卡的话,先看一下自己的显存是多少,

我的电脑显存是4G大小,这个参数的设置一般都是2的指数倍,

举个例子,假如我设置为4,我在运行代码的时候会显示显存占用的大小,比如是1.5G大小,那么我的batch-size就可以在当前设备情况下开到8,这样就可以最大的发挥显卡的使用率,跑到速度快一些。

这里我建议先试试4,再根据情况去做调整

device设置

这里就是选择设备去训练的那个参数,如果有显卡的话,我的电脑为例子,我就一个显卡,这里是从0开始计数的,我就输入0,代表着用第一块显卡训练参数,如果你有两个显卡,就输入0,1

workers设置

这个来说,一般windows系统设置0就行了,这个设置别的有时候会报错

这个对训练没啥影响。

最后

一般就这几个参数设置就可以了,在训练的时候,先选择自己的环境。训练有两种方法,一个是在终端输入指令训练,一个是点击训练按钮训练。

使用终端训练

先新建终端,然后激活自己的环境

我的这个项目配置的环境名字叫yolov7,所以我的指令是

conda activate yolov7

 

1代表着当前选择的环境名字,

2代表着当前文件位置,这个一般都是当前项目文件夹的位置

输入

python train.py

 按回车,就开始加载训练数据了

显示这个就是说在训练了

使用编译器训练

如果你会使用终端的话,这个就别看了

先在编辑器选择环境

我使用的是vscode,选择我配置的yolov7环境

在选择之后,右下角会显示当前的环境名称

右键,运行python就可以

或者直接点击训练按钮

训练文件查看

运行之后会生成run文件夹,你往里面选择你训练的就行了,他这个是自动命名字的,选择对应的就可以了

这篇关于使用train.py----yolov7的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/983642

相关文章

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

Spring Boot3虚拟线程的使用步骤详解

《SpringBoot3虚拟线程的使用步骤详解》虚拟线程是Java19中引入的一个新特性,旨在通过简化线程管理来提升应用程序的并发性能,:本文主要介绍SpringBoot3虚拟线程的使用步骤,... 目录问题根源分析解决方案验证验证实验实验1:未启用keep-alive实验2:启用keep-alive扩展建

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

GORM中Model和Table的区别及使用

《GORM中Model和Table的区别及使用》Model和Table是两种与数据库表交互的核心方法,但它们的用途和行为存在著差异,本文主要介绍了GORM中Model和Table的区别及使用,具有一... 目录1. Model 的作用与特点1.1 核心用途1.2 行为特点1.3 示例China编程代码2. Tab

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

一文教你Python引入其他文件夹下的.py文件

《一文教你Python引入其他文件夹下的.py文件》这篇文章主要为大家详细介绍了如何在Python中引入其他文件夹里的.py文件,并探讨几种常见的实现方式,有需要的小伙伴可以根据需求进行选择... 目录1. 使用sys.path动态添加路径2. 使用相对导入(适用于包结构)3. 使用pythonPATH环境

使用Python实现网络设备配置备份与恢复

《使用Python实现网络设备配置备份与恢复》网络设备配置备份与恢复在网络安全管理中起着至关重要的作用,本文为大家介绍了如何通过Python实现网络设备配置备份与恢复,需要的可以参考下... 目录一、网络设备配置备份与恢复的概念与重要性二、网络设备配置备份与恢复的分类三、python网络设备配置备份与恢复实