使用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文件夹,你往里面选择你训练的就行了,他这个是自动命名字的,选择对应的就可以了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/617694.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

11、关系运算符、逻辑运算符(讲解 和 的区别)、赋值表达式、三目表达式、运算符优先级(超详细版本)+结合性的分析

这里写目录标题 一、关系运算符(比较运算符)二、⭐逻辑运算符1、 && 和 &2、|| 或 |3、!4、^ 三、赋值运算符四、三目运算符(条件运算符)五、运算符优先级 在讲之前先明确几个概念: 1、单目运算…

【Arduino】ESP32/ESP8266 JSON格式解析

目录 1、JSON 2、JSON语法格式 基本概念: 语法规则: 数据类型: 示例: 3、JSON解析 单一对象JSON解析(无嵌套) JSON数组解析 使用ArduinoJson官网在线工具解析JSON信息 ESP8266闪存存储的JSON解析…

VScode 修改 Markdown Preview Enhanced 主题与字体

VScode 修改 Markdown Preview Enhanced 主题与字体 1. 修改前后效果对比2. 修改主题2.1 更改默认主题2.2 修改背景色 3. 修改字体 VS Code基础入门使用可查看: VS Code 基础入门使用(配置)教程 其他Vs Code 配置可关注查看: Vs C…

ElasticSearch 与 OpenSearch:拉开性能差距

Elasticsearch 与 OpenSearch:扩大性能差距 对于任何依赖快速、准确搜索数据的组织来说,强大、快速且高效的搜索引擎是至关重要的元素。对于开发人员和架构师来说,选择正确的搜索平台可以极大地影响您的组织提供快速且相关结果的能力。在我们…

docker(二):Centos安装docker

文章目录 1、安装docker2、启动docker3、验证 官方文档:https://docs.docker.com/engine/install/centos/ 1、安装docker 下载依赖包 yum -y install gcc yum -y install gcc-c yum install -y yum-utils设置仓库 yum-config-manager --add-repo http://mirrors…

在xAnyLabeling中加载自己训练的yolov8s-obb模型进行半自动化标注

任务思路: 先使用xAnyLabeling标注一部分样本,训练出v1版本的yolov8-obb模型,然后加载yolov8-obb模型到xAnyLabeling中对其余样本进行半自动化标注。节省工作量。 任务流程: 1.准备xAnyLabeling标注工具 下载代码,…

Linux 第二十八章

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C,linux 🔥座右铭:“不要等到什么都没有了…

利用PS在不伤背景的前提下根据颜色去除图像上不想要的内容

下面为一个例子,去除图像上红色的虚线 Step1.用套索工具框选带有颜色的部分 Step2.切换到魔术棒工具,上端选项中,点击与选区交叉,连续这一项不要勾选 Step3.在需要去除的部分点击一下即可在框选范围内选中所有同颜色的区域&#x…

【IC前端虚拟项目】验证环境env与base_teat思路与编写

【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 上一篇里解决了最难搞的axi_ram_model,接下来呢就会简单又常规一些了,比如这一篇要说的env和base_test的搭建。在这里我用了gen_uvm_tb脚本: 【前端验证】验证自动化脚本的最后一块拼图补全——gen_t…

Cross-Image Attention for Zero-Shot Appearance Transfer——【代码复现】

本文发表于SIGGRAPH 2024,是一篇关于图像编辑的论文,Github官网网址如下: garibida/cross-image-attention: “Cross-Image Attention for Zero-Shot Appearance Transfer”的正式实现 (github.com) 一、基本配置环境准备 请确保…

数组实现循环队列

1、分析 循环队列最主要的特点为当前面的空间被pop后,后面的数据可以插入到前面空余的数据中去; 所以最难的部分为判断什么时候为空什么时候为满: a、空满问题 我们先来分析当数据满时,head和tail相等(tail认为是指…

架构设计之学新而知故

缘由 因为一些特殊的机缘,接触到洋葱架构等一些新架构设计概念。 尝试理解了一段时间,就想简单梳理下对它们的理解,以达到学新而知故 😃 信息增益 以前计算机专业并不设置通信领域的信息论的专业课程,但是&#xf…

条件变量解决同步问题之打印金鱼

说明 本代码为jyy老师上课演示条件变量解决同步问题示例(本人只做记录与分享) 本人未使用老师封装的POSIX线程库, 直接在单文件中调试并注释 问题描述 有三类线程 T1 若干: 死循环打印< T2 若干: 死循环打印> T3 若干: 死循环打印_ 任务: 对线程同步&#xff0c;使得屏幕…

eNSP中小型园区网络拓扑搭建(下)

→b站直通车&#xff0c;感谢大佬← →eNSP中小型园区网络拓扑搭建&#xff08;上&#xff09;← 不带配置命令的拓扑图已上传~ 配置ospf SW5 # ospf 1 router-id 5.5.5.5area 0.0.0.0network 192.168.51.5 0.0.0.0network 192.168.52.5 0.0.0.0area 0.0.0.10network 192.1…

MATLAB函数fir1的C语言移值

要移值的matlab函数&#xff1a; h3 fir1(16,[0.25 0.50]); C语言版本 #include <iostream> #include <cmath>#define PI acos(-1)double sincEasy(double *x, int len, int index) {double temp PI * x[index];if (temp 0) {return 1.0; // sinc(0) 1}ret…

如何在 Linux / Ubuntu 上下载和安装 JMeter?

Apache JMeter 是一个开源的负载测试工具&#xff0c;可以用于测试静态和动态资源&#xff0c;确定服务器的性能和稳定性。在本文中&#xff0c;我们将讨论如何下载和安装 JMeter。 安装 Java&#xff08;已安装 Java 的此步骤可跳过&#xff09; 安装 Java 要下载 Java&…

01、什么是ip、协议、端口号知道吗?计算机网络通信的组成是什么?

声明&#xff1a;本教程不收取任何费用&#xff0c;欢迎转载&#xff0c;尊重作者劳动成果&#xff0c;不得用于商业用途&#xff0c;侵权必究&#xff01;&#xff01;&#xff01; 目录 前言 计算机网络 网络ip地址 网络协议 网络端口号 前言 最近有个项目要用到相关文章…

NOR FLASH介绍

参考 http://t.csdnimg.cn/gHcrG 一、NOR FLASH简介 XIP技术:https://blog.csdn.net/ffdia/article/details/87437872?fromshareblogdetail NOR Flash 和 NAND Flash 的特点和应用举例&#xff1a; NOR Flash&#xff1a; 特点&#xff1a; 支持随机访问&#xff0c;可以直接…

【ROS2】节点

文章目录 ROS2 节点示例&#xff1a;创建并运行成功一个节点1. 创建功能包2. 编写源文件、CMakeLists.txt、package.xml3. 编译功能包4. 设置环境变量5. 运行节点6. 查看节点 参考链接 ROS2 节点 机器人的每一项功能&#xff0c;都被称为是一个节点。 每个节点都是一个独立的…

@PostConstruct

PostConstruct initializeBean方法–> PostProcessor.postProcessBeforeInitialization–> InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction 被PostConstruct注解的方法会在Bean初始化的时候被调用&#xff0c;如下图&#xff1a; 继承关系如下…