Yolo-fastestv2训练自己的数据集记录

news2024/12/28 19:35:37

Yolo-fastestv2训练自己的数据集记录

第一节:代码来源

本机环境:ubuntu20,cuda,cudnn,pytorch==1.11.0
代码来源:https://github.com/dog-qiuqiu/Yolo-FastestV2
配置环境后先测试一下环境
终端输入:

python3 test.py --data data/coco.data --weights modelzoo/coco2017-0.241078ap-model.pth --img img/000139.jpg

在代码主目录下出现检测结果即可。
在这里插入图片描述
环境测试通过后,接下来需要准备数据集了。

在github上看到需要调整数据结构为该项目要求的格式。

第二节:数据处理

1.获取数据集
使用labelImg标注软件,选择yolo格式进行标注。
2.新建train和val文件夹
在data文件夹下,新建train和val文件夹,并将图片和txt标签置于对应文件夹中。
在这里插入图片描述

3.新建py文件
在主目录下新建sum_txt.py文件,写入:

import os
txt_ = r"/home/cj/work/CJ/Yolo-FastestV2-main/data/val.txt"  # 生成txt的名字
Imgdir="/home/cj/work/CJ/Yolo-FastestV2-main/data/val/"
pathDir = os.listdir(Imgdir)    #获取图像列表
with open(txt_, 'a+') as f:
    for i in pathDir:
        if os.path.splitext(i)[1] == '.jpg':
            item = (Imgdir + "{}").format(str(i).zfill(4))
            f.write(item)
            f.write("\n")

其中txt_ = r"/home/cj/work/CJ/Yolo-FastestV2-main/data/train.txt"这一行为你需要生成文件路径,需要获取train.txt和val.txt两个文件,对应是官网中的
在这里插入图片描述

第三节:训练

1.生成anchors
终端运行

python3 genanchors.py --traintxt ./data/train.txt

在这里插入图片描述
获得anchors。复制粘贴到coco.data。
2.修改coco.name和coco.data文件
coco.names中修改类别为自己的数据类别。
coco.data修改类别数量和anchors,epoch等

[name]
model_name=coco

[train-configure]
epochs=60
steps=150,250
batch_size=32
subdivisions=1
learning_rate=0.001

[model-configure]
pre_weights=None
classes=4
width=352
height=352
anchor_num=3
anchors=12.79186635,34.99124329, 17.43634664,51.82827546, 18.69456021,55.36147158, 40.11064084,29.4783456, 44.85245013,34.27625813, 44.92398179,31.9961749

[data-configure]
train=/home/cj/work/CJ/Yolo-FastestV2-main/data/train.txt
val=/home/cj/work/CJ/Yolo-FastestV2-main/data/val.txt
names=./data/coco.names

3.训练
终端输入

python3 train.py --data data/coco.data

第四节:测试模型
在训练结束后主目录下会有一个weight文件夹,里面是生成的权重文件。
输入测试指令即可

python3 test.py --data data/coco.data --weights modelzoo/coco2017-0.241078ap-model.pth --img img/000139.jpg

权重和测试图像要替换为自己的

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

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

相关文章

Vue入门介绍

一、背景 目前前端主流框架有Vue、react、Angular等,其中Vue简单易学,只要稍微会点HTML、CSS、JavaScript基础就能很快上手Vue,其门槛低,上手速度快的特点,深受测试开发同学喜爱,已逐渐成为测开必备的前端…

spring回显方式在代码层面的复现(内存马系列篇十四)

前言 在前面的一章中,主要在理论上进行了各种内存马的实现,这里就做为上一篇的补充,自己搭建反序列化的漏洞环境来进行上文中理论上内存马的注入实践。 这是内存马系列文章的第十四篇。 环境搭建 可以使用我用的漏洞环境 https://github…

一款基于java的超级棒的开源支付系统(用来毕设也不错),国内首款开源的互联网支付系统

最近就快要到年末了,小编想着应该会有很多公司开始冲年度的业绩了,既然是冲业绩,就离不开我们的支付系统,所以小编就去网上给大家找到了一款超级棒的开源支付系统!帮助大家从头到尾了解清楚这其中的逻辑!所…

蓝牙 - 芯片制造商的代号编制以及在Windows上查看

在蓝牙技术的规范中,对很多信息都进行了整理和代号分配,比如生产蓝牙芯片的厂商,也进行了数字编号。 有一个专门的“Assigned Numbers”的PDF文档,记录了蓝牙规范中的各种类型数字所表示的含义。 本文介绍的数字类型&#xff0c…

JavaScript Window - 浏览器对象模型

JavaScript Window - 浏览器对象模型 浏览器对象模型 (BOM) BOM:Browser Object Model 是浏览器对象模型,BOM由多个对象构成,其中代表浏览器窗口的window对象是BOM的顶层对象也是核心对象,其他对象都是该对象的子对象。 BOM对象…

IB-PYP幼儿十大素质培养目标

作为IB候选学校,一直秉承IB教育的核心目标,贯彻在幼儿的学习生活中。IB教育之所以成为当今国际教育的领跑者,最主要的原因是IB教育是切切实实的“全人”教育,“素质”教育,拥有一套完整的教学服务体系。当我们走进IB“…

【机器学习实战】七、梯度下降

梯度下降 一、线性回归 线性回归算法推导过程可以基于最小二乘法直接求解,但这并不是机器学习的思想,由此引入了梯度下降方法。本文讲解其中每一步流程与实验对比分析。 1.初始化 import numpy as np import os %matplotlib inline import matplotli…

C语言(结构和指针)

目录 1.声明结构指针 2.用指针访问成员 3.传递结构成员 4.传递结构的地址 5.传递结构 6.机构的其他特性 7.结构中的字符数组和字符指针 关于为什么要使用指向结构的指针。 第一,就像指向数组的指针比数组本身更容易操作一样,指向结构的指针通常比…

5年自动化测试,终于进字节了,年薪30w其实也并非触不可及

我的职业生涯开始和大多数测试人一样,开始接触都是纯功能界面测试,第一份测试工作就是在电商公司做功能测试,工作忙忙碌碌,每天在各种业务需求学习和点点中度过,过了好几年发现自己还只是一个功能测试工程师&#xff0…

第十二章 Ambari二次开发之集成Alluxio

1、Alluxio高可用部署 生产环境:使用具有高可用性的模式来运行Alluxio masters。 1.1、Alluxio架构 ​ Alluxio可以被分为三个部分:**masters、workers以及clients。**一个典型的设置由一个主服务器、多个备用服务器和多个worker组成。客户端用于通过S…

机器学习实战--梯度下降法进行波士顿房价预测

前言: Hello大家好,我是Dream。 今天来学习一下如何使用机器学习梯度下降法进行波士顿房价预测,这是简单的一个demo,主要展示的是一些小小的思路~ 本文目录:一、波士顿房价预测1.全部的数据可视化2.地理数据可视化3.房…

基于”PLUS模型+“生态系统服务多情景模拟预测实践

工业革命以来,社会生产力迅速提高,人类活动频繁,此外人口与日俱增对土地的需求与改造更加强烈,人-地关系日益紧张。此外,土地资源的不合理开发利用更是造成了水土流失、植被退化、水资源短缺、区域气候变化、生物多样性…

根据手机号显示其运营商信息phone.find

【小白从小学Python、C、Java】【计算机等级考试500强双证书】【Python-数据分析】根据手机号显示其运营商信息phone.find选择题以下关于python代码表述错误的一项是?from phone import PhonephonePhone()print(【执行】phone.find())resultphone.find("13366667777"…

21.操作符优先级和结合性列表,复杂表达式求值顺序

目录一、复杂表达式求值顺序1.操作符的优先级2.操作符的结合性3.操作符是否控制执行的顺序二、求值顺序三、操作符优先级和结合性列表一、复杂表达式求值顺序 复杂表达式的求值顺序由三个因素决定: 1.操作符的优先级 2.操作符的结合性 3.操作符是否控制执行的顺序 1…

【代码随想录训练营】【Day12休息】【Day13】第五章|栈与队列|239. 滑动窗口最大值|347.前 K 个高频元素|总结

239.滑动窗口最大值 题目详细:LeetCode.239 看到滑动窗口,我立马想起了双指针,利用双指针可以非常清晰地理解解题思路: 定义一个变量 max_i 用于记录窗口中的最大值的索引每次窗口滑动后 如果出去的值是最大值,那么…

ChatGPT实火,这小东西牛在哪?

ChatGPT,真的火了啊! 相信许多朋友都听说过 ChatGPT铺天盖地的赞美,但并不清楚它是个啥。 体制内让ChatGPT写材料,广告行业让ChatGPT写策划案,媒体让ChatGPT写新闻稿,程序员让ChatGPT写代码甚至还带修BUG服…

三、常用样式讲解一

文章目录一、企业站点样式实战1.1 版心1.2 reset.css1.3 index.css(首页的样式)1.4 溢出1.5 元素类型1.6 元素类型的转换1.7 行内块元素的特殊情况:img标签的特殊性一、企业站点样式实战 1.1 版心 1.2 reset.css /* reset.css用作清除一些常…

行人检测(人体检测)2:YOLOv5实现人体检测(含人体检测数据集和训练代码)

行人检测(人体检测)2:YOLOv5实现人体检测(含人体检测数据集和训练代码) 目录 行人检测(人体检测)2:YOLOv5实现人体检测(含人体检测数据集和训练代码) 1. 前言 2. 人体检测数据集说明 (1)人体检测数据集 (2&#…

什么是互联网舆情监测分析系统,TOOM舆情监测云服务有哪些内容?

舆情监测应用范围广泛,可以帮助企业了解品牌形象、产品口碑、市场竞争、消费者需求等信息,政府了解民意状况、政策反响、社会热点等信息,个人了解社会趋势、舆论氛围、公共事件等信息。同时,舆情监测分析也可以帮助相关决策者及时…

男生vs女生,谁更加适合做软件测试?

前言 随着互联网的飞速发展,软件测试行业同步兴盛起来,逐渐出现了人才的短缺,致使行业人员工资一涨再涨。 所以,越来越多的人也开始意识到软件测试行业的”高薪“属性,转身投入到相关的工作中来。 但是,…