基于yolov8的车牌检测训练全流程

在这里插入图片描述
YOLOv8 是Ultralytics的YOLO的最新版本。作为一种前沿、最先进(SOTA)的模型,YOLOv8在之前版本的成功基础上引入了新功能和改进,以提高性能、灵活性和效率。YOLOv8支持全范围的视觉AI任务,包括检测, 分割, 姿态估计, 跟踪, 和分类。这种多功能性使用户能够利用YOLOv8的功能应对多种应用和领域的需求。

代码地址:https://github.com/ultralytics/ultralytics

一、数据集预处理

yolov8的数据集格式处理可以参考我的这篇博客:yolo系列模型训练数据集全流程制作方法(附数据增强代码)
这里就不再详细讲述,处理完并划分训练集和验证集后格式为下:

- mydata|- train|  |- images|  |- labels||- val|  |- images|  |- labels

处理完以后,自己创建一个mydata.yaml文件,文件内容如下:

train: mydata/train/images
val: mydata/val/images
#如果按照上述方式建立文件夹,则上面train、test和val地址可以不变nc: 8         #标签类别个数
names: ['0', '1', '2', '3', '4', '5', '6', '7']    #标签名
#上面nc和names可以根据自己的数据集进行修改

然后将mydata.yaml直接放到yolov8代码的主目录下即可,即./ultralytics-main下。
在这里插入图片描述

二、训练

使用yolov8的小伙伴可以发现,yolov8同v5、v7不太一样,里面的文件代码路径什么的都发生了很大的变化,所以刚上手可能会觉得非常的不知所措。但是,其实v8训练起来同前面的版本相比更加简单,可以直接用yolo命令进行训练。

首先,我们需要安装 ultralytics 这个库。

pip install ultralytics

然后直接使用下面的指令在命令行进行单卡训练即可:

yolo task=detect mode=train model=yolov8n.pt data=mydata.yaml batch=32 epochs=100 imgsz=640 workers=16 device=0

注意:
1. 如果是在windows系统中训练yolov8的话,worker设置成0,如果是Linux或服务器的话,就可以设置成8或16等。
2. 如果训练过程中报了路径的错误,那么就将mydata.yaml改为绝对路径。

训练成功如下图所示:
在这里插入图片描述

如果你有服务器,想要进行多卡训练,则使用下面的命令:

yolo task=detect mode=train model=yolov8n.pt data=mydata.yaml batch=32 epochs=100 imgsz=640 workers=16 device=\'0,1,2,3\'

三、验证

在训练完以后,我们可以使用验证集对模型的性能进行一个验证,具体命令如下:

yolo task=detect mode=val model=runs/detect/train/weights/best.pt data=mydata.yaml device=0

四、预测

对图片进行预测的代码如下:

yolo task=detect mode=predict model=runs/detect/train/weights/best.pt source=inferdata device=0

如果想要将检测的结果导出labels的txt文件的话,命令如下:

yolo task=detect mode=predict model=runs/detect/train/weights/best.pt source=inferdata save_txt=True device=0

对模糊图片的检测结果如下:
在这里插入图片描述

五、导出ONNX模型

导出onnx的代码如下:

yolo task=detect mode=export model=runs/detect/train/weights/best.pt format=onnx

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

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

相关文章

Java项目实战《苍穹外卖》 三、登录功能

测测你是什么人格吧,地址: MBTI 16种人格测试官网 系列文章目录 苍穹外卖是黑马程序员2023年的Java实战项目,作为业余练手用,需要源码或者课程的可以找我,无偿分享 Java项目实战《苍穹外卖》 一、项目概述Java项目实战…

Redis从入门到精通(三)-高阶篇

文章目录 0. 前言[【高阶篇】3.1 Redis协议(RESP )详解](https://blog.csdn.net/wangshuai6707/article/details/132742584)[【高阶篇】3.3 Redis之底层数据结构简单动态字符串(SDS)详解](https://blog.csdn.net/wangshuai6707/article/details/131101404)[【高阶篇】3.4 Redis…

Java实现堆算法

堆是一种特殊的数据结构,它是一棵完全二叉树,且满足堆的性质:对于每个节点,它的值都不小于(或不大于)它的孩子节点的值。根节点的值就是堆中的最大值(或最小值)。 Java中提供了一个…

自然语言处理:Transformer与GPT

Transformer和GPT(Generative Pre-trained Transformer)是深度学习和自然语言处理(NLP)领域的两个重要概念,它们之间存在密切的关系但也有明显的不同。 1 基本概念 1.1 Transformer基本概念 Transformer是一种深度学…

HarmonyOS基础组件之Button三种类型的使用

简介 HarmonyOS在明年将正式不再兼容Android原生功能,这意味着对于客户端的小伙伴不得不开始学习HarmonyOS开发语言。本篇文章主要介绍鸿蒙中的Button使用。 HarmonyOS中的Button相较于Android原生来说,功能比较丰富,扩展性高,减…

mysql binlog

binlog日志介绍 什么是 binlog binlog是server层共有的,是记录的数据更新历史,主要用来做主从同步和数据的实时备份。 binlog 怎么开启 mysql的配置文件添加相关配置并重启mysql # 1. linux打开mysql配置文件 vi /etc/my.cnf# 2. 添加binlog配置 [mysql…

STC单片机选择外部晶振烧录程序无法切换回内部晶振导致单片机不能使用

STC单片机选择外部晶振烧录程序无法切换回内部晶振导致单片机不能使用 1.概述 在学习51单片机过程中,选择了STC的12C2052AD型号单片机作为入门芯片。前几个课题实验使用默认的内部晶振烧录程序,运行都没有问题。 选择一个LED亮度渐变的课题做实验&…

nvm管理node版本过程记录

写在前面 今天记录一下windows电脑安装nvm同时使用nvm管理node版本的,为什么写windows版本的呢?因为mac版本的基本上是不需要进行记录的,相对windows的安装是简单很多的,行了废话不多说,我们直接开始 安装nvm nvm下载…

redis运维(十二)

一 位图 ① 概念 1、说明:位图还是在操作字符串2、位图玩字符串在内存中存储的二进制3、ASCII字符通过映射转化为二进制4、操作的是字符串value ② ASCII字符铺垫 1、控制ASCII字符 2、ASCII可显示字符 ③ SETBIT 细节: setbit 命令的返回值是之…

C++ 多态和虚函数详解

本文章内容来源于C课堂上的听课笔记 多态基础 多态(Polymorphism)是面向对象编程中的一个重要概念,它允许使用统一的接口来表示不同的对象和操作。多态性有两种主要形式:静态多态性(编译时多态性)和动态多…

华为无线ac+fit三层组网,每个ap发射不同的业务vlan

ap管理dhcp在ac控制器上,业务dhcp在汇聚上 配置WLAN业务 (1)配置VAP模板 • 配置员工网络的VAP模板(employee) [AC-wlan-view] security-profile name employee //创建名为“employee”的安全模板 [AC-wlan-sec-prof-…

Git面经

Git八股文 第一章 git基础 1.1 什么是git git是一款免费的开源的分布式版本控制系统 1.2 为什么要使用git 为了保留之前的所有版本,方便回滚或修改 1.3 集中化版本控制系统和分布式版本控制系统的区别 集中化版本控制系统如svn,客户端连接到中央服…

C语言——用递归函数计算n!

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 比别人多一点努力,你…

国产化区块链平台-FISCO BCOS 区块链

目录 FISCO BCOS 版本信息 系统概述 关键特性 组件服务 开发运维工具 FISCO BCOS作为一种企业级区块链平台,为企业和组织提供了高性能、隐私保护和可定制的区块链解决方案。其强大的架构和丰富的功能使得企业能够在安全可信的环境中开展区块链应用&#xff0…

基数排序详解(LSD方法+MSD方法+思路+图解+代码)

文章目录 基数排序一、基数排序概念1.LSD排序法(最低位优先法)2.MSD排序法(最高位优先法) 基数排序 一、基数排序 概念 基数排序是一种非比较型整数排序算法 将整数按位数切割成不同的数字,然后按每个位数分别比较 …

小程序开发平台源码系统 各行各业都可使用 功能强大 附带完整的搭建教程

当前,数字化转型已经成为各行各业的重要趋势,而小程序作为数字化转型的重要工具之一,具有广泛的应用前景。因此,我们开发了这个源码系统,以帮助各行各业快速开发出符合需求的小程序。 以下是部分代码示例:…

设计模式—结构型模式之享元模式

设计模式—结构型模式之享元模式 享元模式(Flyweight Pattern),运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。对象结构型。 在享元模式中可以共…

机器学习实战 ——《跟着迪哥学Python数据分析与机器学习实战》(2)

机器学习实战 ——《跟着迪哥学Python数据分析与机器学习实战》(2) 七、贝叶斯算法7.1 新闻分类任务实战7.1.1 结巴分词7.1.2 词云表示工具包wordcloud7.1.3 TF-IDF特征 八、聚类算法K-means K-均值聚类算法评估指标优缺点 DBSCAN(Density-Ba…

ChatGPT/GPT4科研实践应用与AI绘图技术及论文高效写作

2023年随着OpenAI开发者大会的召开,最重磅更新当属GPTs,多模态API,未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义,不亚于互联网和个人电脑的问世。360创始人周鸿祎认为未来各行各业如果不能搭上这班车…

VS搭建QT环境失败1

在VS中做一个简单QT控制台程序; 包含目录已经添加如下图;可以找到QCoreApplication头文件;可以找到QCoreApplication类,把鼠标放上去会有提示;但是由QCoreApplication类生成对象会出错;app这个变量提示出错; 同时显示200多个错误;这是VS2015; 看一下我的QT安装有没有缺…