【保姆级教程】YOLOv8_Cls图像分类:训练自己的数据集

一、YOLOV8环境准备

1.1 下载安装最新的YOLOv8代码

 仓库地址: https://github.com/ultralytics/ultralytics

1.2 配置环境

  pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

二、数据准备

我这里准备了猫和狗的图片,按类别名准备好,文件夹名就是分类的类别名,后面将不需要再需要yaml配置文件
在这里插入图片描述

三、训练

3.1 下载预训练权重

在YOLOv8 github上下载预训练权重:yolov8n-cls.pt,ultralytics\ultralytics\路径下,新建weights文件夹,预训练权重放入其中。
在这里插入图片描述

4.2 训练

步骤一:修改ultralytics\ultralytics\cfg\default.yaml文件中的训练参数(根据自己的实际情况决定)
步骤二:执行下面代码:(建议使用绝对路径)

#训练YOLOv8图像分类代码
from ultralytics import YOLO

# Load a model
model = YOLO('D:/study/cnn/yolo/ultralytics/weights/yolov8n-cls.pt')

# Train the model
# 直接使用分类的数据集地址
results = model.train(data='D:/study/cnn/yolo/ultralytics/cls-data/', epochs=700, imgsz=640)

在这里插入图片描述

五、验证

# 验证YOLOv8图像分类代码
from ultralytics import YOLO

# Load a model
model = YOLO('D:/study/cnn/yolo/ultralytics/runs/classify/train3/weights/best.pt')

# Train the model
results = model.val(data='D:/study/cnn/yolo/ultralytics/cls-data/', epochs=700, imgsz=640)

在这里插入图片描述
查看模型验证的其中两张图片结果
在这里插入图片描述
在这里插入图片描述

六、推理

根据自己实际的情况,修改路径(建议使用绝对路径)

# YOLOv8图像分类推理代码
from ultralytics import YOLO

# Load a model
model = YOLO('D:/study/cnn/yolo/ultralytics/runs/classify/train3/weights/best.pt')

# Predict with the model
results = model('D:/study/cnn/yolo/ultralytics/cls-data/train/cat/1.jpg',save=True)  # predict on an image

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

学习周报:文献阅读+Fluent案例+水力学理论学习

目录 摘要 Abstract 文献阅读: 文献摘要 现有问题 研究目的及方法 PINN的设置 NS方程介绍 损失函数 训练方法 实验设置 对照组设置 实验结果展示 点云数、隐藏层数和每个隐藏层的节点数对PINN精度的影响 点云数对PINN的影响: 隐藏层数的影…

喜欢我中文编程吗?这么喜欢中文编程哥们给你来点关键字呗

// chinese_commands.h 太优雅了哥们// 变量类型 #define 整型 int #define 浮点型 float #define 双浮点型 double #define 字符 char #define 长整型 long #define 自动 auto #define 布尔 bool// 修饰符 #define 静态 static #define 常量 const #define 虚拟 virtual #defi…

吴恩达深度学习笔记:神经网络的编程基础2.1-2.4

目录 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)第二周:神经网络的编程基础 (Basics of Neural Network programming)2.1 二分类(Binary Classification)2.2 逻辑回归(Logistic Regression)2.3 逻辑回归的代价函数(Lo…

C++基础之继承(十五)

一.继承的定义 当一个派生类继承一个基类时,需要在派生类的类派生列表中明确的指出它是从哪个基类继承而来的。类派生列表的形式如下: class 派生类 : public/private/protected 基类 { }; 派生类生成的三个步骤: 吸收基类成员…

如何恢复回收站被清空的文件?3个宝藏方法大公开!

“怎么办?不小心把回收站里的文件都清空了,现在没法找回我的重要数据了,有什么比较好的方法吗?快来帮帮我吧!” 回收站作为Windows系统中的一个重要功能,可以帮助我们暂时存放删除的文件和文件夹&#xff0…

数据结构——树与二叉树

目录 树与二叉树 1.树的定义 2.树的有关术语 3.二叉树(BinaryTree) 二叉树的性质: 特殊的二叉树 满二叉树: 完全二叉树 二叉树的存储结构 顺序存储结构 链式存储结构 二叉树以及对应接口的实现 1.二叉树架构搭建 2…

PSO-CNN-BiLSTM多输入分类预测|粒子群优化算法-卷积-双向长短期神经网络分类预测|Matlab

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、算法介绍: 四、完整程序下载: 一、程序及算法内容介绍: 基本内容: 本代码基于Matlab平台编译&am…

【Python机器学习系列】机器学习中的模型微调---随机搜索(案例+源码)

这是我的第245篇原创文章。 一、引言 如果探索的组合数量较少时,网格搜索是一种不错的方法,但当超参数的搜索范围较大时,通常会优先选择使用 RandomizedSearchCV 。它与 GridSearchCV 用法相似,但它不会尝试所有可能的组合&…

智能医疗-行业痛点

信息来源渠道少 病患只能从特定时间巡房的医护处了解病情,信息来源渠道少,了解信息内容有限。 床头卡老旧,信息更新不及时 每位医护人员负责的床铺数量多,床头卡更新频率快,替换纸质床头卡需打印、手写、张贴等一系列…

发展规划--IM系统

1、时代背景 5G应用,多终端应用,物联网应用,小程序,工业互联,大数据应用等等大前端时代的到来,程序员不能只关注crud,因为以后的服务并发量只会越来越多。 高并发架构师、大数据架构师或者说j…

ABC346 A-G 题解

ABC346 A-G题解 A题目AC Code:时间复杂度 B题目时间复杂度AC Code: C题目时间复杂度AC Code: D题目时间复杂度AC Code: E题目时间复杂度AC Code: F题目时间复杂度AC Code: G题目时间复杂度AC Code&#xff…

关于四篇GNN论文的阅读笔记PPT:包括GATNE,AM-GCN,HGSL和coGSL

关于四篇GNN论文的阅读笔记PPT:包括GATNE,AM-GCN,HGSL和coGSL 前言GATNEAM-GCNHGSLcoGSL 前言 这里的PPT主要是在跟Graph Transformer一起的: 【图-注意力笔记,篇章1】Graph Transformer:包括Graph Trans…

LeetCode每日一题——移除链表元素

移除链表元素OJ链接:203. 移除链表元素 - 力扣(LeetCode) 题目: 思路: 这与之前的移除元素的题目很相似,那么我们同样可以用类似的做法(双指针)进行解题。但是这是一个链表删除&a…

Less-1(sqlmap手工注入攻击)--sqli

第一步:判断他是什么sql注入? 1 报错 1 and 12 -- 错误结果(--表示注释符) 1 and 11 -- 正确结果 第二步:判断返回字段数 ?id1 order by 3-- 正确显示结果 ?id1 order by 4--当列数为4时开始报错,所以只有三列 注&#xf…

基于ssm的大学生心理健康的设计与实现

1 用户功能分析 1、注册、登录系统 2、心理预约指导:用户登录系统可以查看心理专家,可以预约时间进行指导。 3、在线交流:可以与其他用户进行交流互动 4、个人信息:可以修改个人信息,维护自己的信息 5、心理测试&…

目标检测中的mAP计算原理和源码实现

简介 在目标检测任务中,mAP(mean Average Precision,平均精度均值)是一个非常重要的评价指标,用于衡量模型在多个类别上的平均性能。它综合考虑了模型在不同召回率下的精确率,能够全面反映模型在检测任务中…

VMware 调整产品方案,该跟随还是撤退?全面评估不同用户应对策略

本文针对 VMware 调整后的产品组合进行深入分析,并根据不同用户使用情况给出详细的应对策略,干货满满,建议收藏阅读!重点内容包括: VMware 产品变化梳理不同用户如何选择应对策略:评估角度与应对思路梳理延…

ChatGPT 对 ELT的理解

本文主要内容来自 ChatGPT 4.0 到底什么是 ETL?在数据库内部,把数据从 ODS 层加工成 DWD,再加工成 DWS,这个过程和 ETL 的关系是什么?带着这些问题,我问了一下 ChatGPT,总结如下。 数据在两个数…

下载最新VMware,社区版本(免费)

VMware - Delivering a Digital Foundation For BusinessesRun any app on any cloud on any device with a digital foundation built on VMware solutions for modern apps, multi-cloud, digital workspace, security & networking.https://www.vmware.com/ 官网地址

【SpringBoot】了解简单原理 Bean管理 配置优先级

文章目录 一、配置优先级1.1 命令行设置端口号1.2 打包后修改端口号1.3 优先级 小结 二、Bean的管理2.1 获取Bean2.2 Bean作用域2.3 第三方Bean 三、剖析Springboot的底层原理3.1 起步依赖3.2 自动配置3.2.1 第三方类装配3.2.2 原理分析 总结Web后端开发总结:源码跟…