yolov7配置与训练记录(二)

news2024/11/13 9:38:59

yolov7配置与训练记录(一) 已经完成了环境的配置,下面开始文件内部的操作
yolov7官方下载地址为

git clone https://github.com/WongKinYiu/yolov7

1 将下载好的预训练权重放在yolov7-main/weights

需要在yolov7中新建weights文件夹(也是为了方便管理权重文件)
在这里插入图片描述

测试

python detect.py --weights weights/yolov7_training.pt --source inference/images 

如果未报错,则说明成功

2 将准备好的数据放在yolov7-main/datasets

需要在yolov7中新建datasets文件夹(也是为了方便管理训练数据文件)
datasets内部的文件放置规则如下图所示:
在这里插入图片描述
其中train_list和val_list中是放置的训练和测试的图片地址
可以参考python保存文件夹中的文件路径(绝对路径)进行生成.
这里推荐使用绝对路径,因为比较直观简单.

labels是通过labelme标注得到的,可以参考其他文章(等我再次用到了,我再来补充)

3 修改配置训练的相关文件

共需要修改两处

3.1 yolov7-main/cfg/training/yolov7.yaml

复制yolov7.yaml文件到相同的路径下,然后重命名,我们重命名为yolov7-wuliu.yaml。

在这里插入图片描述
打开yolov7-wuliu.yaml进行修改将nc修改为你的目标总数
本人的训练数据中共有5种目标,所以,改为5.
在这里插入图片描述

3.2 /yolov7/data/coco.yaml

复制coco.yaml文件到相同的路径下,然后重命名,我们命名为wuliu.yaml。

在这里插入图片描述打开wuliu.yaml进行修改,

  • 1将train和val修改为你的train_list和val_list的地址
  • 2将nc修改为你的目标总数
    本人的训练数据中共有5种目标,所以,改为5.
  • 3将names修改为你的目标标签名称,
    注意和你标注时的次序相同.
# COCO 2017 dataset http://cocodataset.org

# download command/URL (optional)
# download: bash ./scripts/get_coco.sh

# train and val data as 1) directory: path/images/, 2) file: path/images.txt, or 3) list: [path1/images/, path2/images/]
train: ./datasets/wuliu/train_list.txt  # 118287 images
val: ./datasets/wuliu/val_list.txt  # 5000 images
# test: ./coco/test-dev2017.txt  # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794

# number of classes
nc: 5

# class names
names: [ 'bridge', 'car', 'H', 'pillbox', 'tent' ]

4 开始训练

python train.py --weights weights/yolov7_training.pt --cfg cfg/training/yolov7-wuliu.yaml --data data/wuliu.yaml --device 0 --batch-size 4 --epoch 10

相关参数的含义:

--weights weights/yolov7.pt             # 接收预训练模型路径的参数
--cfg cfg/training/yolov7-Helmet.yaml   # 接收模型配置文件的参数
--data data/Helmet.yaml                 # 接收数据配置文件的参数
--device 0,1                            # GPU/CPU训练,我有2块,因此为0,1;若1块,则0;若CPU,则cpu
--batch-size 64                         # 按照自己GPU内存大小大致确定
--epoch 10                              # 不用多说;我仅展示,因此不训练那么多次了

5 测试

训练完毕后在yolov7-main/runs/train/exp7/weights(不一定是exp7)中得到best.pt和last.pt
可以使用他们进行检测了.
在这里插入图片描述

python detect.py --weights runs/train/exp7/weights/best.pt --source data/images/bus.jpg 

source后可以跟的参数.

 python detect.py --source 0  # webcam
                            file.jpg  # image 
                            file.mp4  # video
                            path/  # directory
                            path/*.jpg  # glob
                            'https://youtu.be/NUsoVlDFqZg'  # YouTube video
                            'rtsp://example.com/media.mp4'  # RTSP, RTMP, HTTP stream

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单调队列算法总结

背景 单调队列,即为单调递减或者单调递增的队列。队列中的元素只能在队尾入队、从队首或者队尾出队。 单调队列的基本实现就是维护一个双向队列,只有当一个元素是当前最值、或者可能成为最值时才保留,否则出队。 单调队列通常用来解决在滑…

NR 大规模天线设计--1

参考《无线系统设计与国际标准》 概述 空间自由度是多天线系统获得性能增益的源泉。随着有源天线技术理论的出现, 为MIMO维度的扩展奠定了理论基础,有源天线技术在商用移动通讯领域的发展, 对天线的进一步扩展,尤其对信道垂直维…

Java常用API

Java常用API什么是API?Object类的作用:Object类的常用方法:Object的toString方法:Obiect的equals方法ObiectsStringBuilderMathSystem类概述BigDecimal什么是API? 1.API应用程序编程接口。 2.简单来说:就是Java帮我们…

JAVA中变量与常量

文章目录0 写在前面1 变量1.1 声明变量1.2 变量初始化2 常量3 写在最后0 写在前面 所有程序设计语言一样,Java 也使用变量来存储值。常量就是值不变的变量。 1 变量 1.1 声明变量 格式 类型 变量名; 例如: int index; double salary; long earthPop…

华为云发布CodeArts Req需求管理工具,让需求管理化繁为简

摘要:华为云正式发布CodeArts Req,这是一款自主研发的软件研发管理与团队协作工具,旨在助力企业大规模研发转型成功,释放组织生产力。本文分享自华为云社区《华为云发布CodeArts Req需求管理工具,让需求管理化繁为简》…

代码随想录刷题day56 583. 两个字符串的删除操作;72. 编辑距离;编辑距离总结篇

代码随想录刷题day56 583. 两个字符串的删除操作;72. 编辑距离;编辑距离总结篇 关于编辑距离的一些题目。 583. 两个字符串的删除操作 583. 两个字符串的删除操作 - 力扣(Leetcode) 化简这一步不容易想到。原理就是两个都删除…

华为云大数据BI赋能企业数字化发展

企业在数字化转型过程中面临着不少挑战,比如数据整合能力有限、不足的需求快速响应能力、缺乏数据管理机制和保障、自建分析平台成本高等等。所以各大企业都希望通过一个大数据智能系统来全方位帮助企业处理数据分析,做好智能决策。因此,对于…

基于SOPHON TPU架构实现 Faiss 的两个查询接口

文章目录1. Faiss 简介2. 距离度量3. 在 Sophon TPU 上的接口实现3.1 Sophon TPU3.2 indexflat 实现3.3 indexPQ 实现 1. Faiss 简介 Faiss 库是 Facebook 开发的一个用于稠密向量相似性搜索和聚类的库,该库包含有诸多向量相似性搜索的算法。向量相似性搜索是将一…

【Pytorch】第 2 章 :马尔可夫决策过程和动态规划

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

python之对比两张图像的相似度

python之图像背景识别 本着结合实际工作,实际落地并已应用的态度去码文。 python之对比两张图像的相似度 需求:在某个手机端项目中,有多个页面图片,但每个图片都做了相应的修改,由于这种图片非常多,高达上万…

澳亚通过聆讯:上半年营收近3亿美元 元气森林与新希望乳业是股东

雷递网 雷建平 12月6日澳亚集团有限公司(简称:“澳亚集团”)日前通过聆讯,准备在港交所上市。澳亚集团是2022年10月中旬递交招股书,不到2个月时间,澳亚集团就通过上市聆讯,这在最近两年的港交所…

小型扫雪机结构设计

目 录 摘 要 I ABSTRACT II 1、绪论 1 1.1 选题意义 1 1.2小型扫雪机国内发展现状 1 1.2.1国内小型扫雪机械现状 1 1.2.2犁式小型扫雪机 2 1.2.3旋切式小型扫雪机 2 1.2.4国内小型扫雪机械的发展方向 3 1.3国外道路小型扫雪机械技术发展概况 3 1.3.1综合式扫雪 3 1.3.2融雪扫雪…

【华为上机真题 2022】数组组成的最小数字

🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…

深入探索 Kubernetes 网络模型和网络通信

Kubernetes 定义了一种简单、一致的网络模型,基于扁平网络结构的设计,无需将主机端口与网络端口进行映射便可以进行高效地通讯,也无需其他组件进行转发。该模型也使应用程序很容易从虚拟机或者主机物理机迁移到 Kubernetes 管理的 pod 中。 …

PR-39 TFA 是富含脯氨酸和精氨酸的天然抗菌肽

PR-39 TFA 是富含脯氨酸和精氨酸的天然抗菌肽,是一种非竞争性,可逆和变构的蛋白酶体 (proteasome) 抑制剂。PR-39 TFA 可逆地结合到蛋白酶体的 α7 亚基上,并通过泛素-蛋白酶体途径阻断 NF-κB 抑制剂 IκBα 的降解。PR-39 TFA 刺激小鼠的血…

Java中的final关键字,你清楚吗?

前言 在学习Java基础阶段应该都认识关键字 final,在声明常量和匿名内部类时都会用到它。我们最熟悉的 String 类就是 final类,如果经常查看API源码,肯定还会遇到其他 final类。本篇就来深入了解一下关键字 final,加深对它的运用。 概览 可用…

java计算机毕业设计ssm线上拍卖系统设计6luor(附源码、数据库)

java计算机毕业设计ssm线上拍卖系统设计6luor(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff0…

CRC 循环冗余检验【计网必考】

CRC 循环冗余检验作为一个重点,也是数据链路层必考的一个考点,所以我把差错检测单独拿出来分析一起看一下。总结不易,一个简单的攒,Thanks♪(・ω・)ノ 目录 一、介绍及工作原理 二、校验计算过程…

zookeeper四字命令_java培训

zookeeper支持某些特定的四字命令,他们大多是用来查询ZK服务的当前状态及相关信息的, 通过telnet或nc向zookeeper提交相应命令,如:echo ruok | nc 127.0.0.1 2181 运行公式:echo 四字命令 | nc 主机IP zookeeper端口…

一文读懂Linux内存分配策略

转载:一文读懂Linux内存分配策略-今日头条 (toutiao.com) 在 Linux 操作系统中,虚拟地址空间的内部又被分为内核空间和用户空间两部分,不同位数的系统,地址空间的范围也不同。比如最常见的 32 位和 64 位系统,如下所示…