使用yolov5实现图片分类

news/2024/10/17 20:26:43/

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

文章目录

      • 开始之前
      • 下载依赖
      • 数据集下载
      • 新建配置文件
      • 执行训练
      • 模型选择
      • 训练完成
      • 测试模型进行预测
      • 自定义模型下载
      • 数据集下载地址分享
      • 问题

开始之前

你应当先克隆这个仓库

git clone https://github.com/ultralytics/yolov5 # clone

下载完毕后,进入克隆的仓库目录

cd yolov5

下载依赖

pip install -r requirements.txt # install

数据集下载

这里我准备了一份数据集,为了方便下载,数据集数据并不是很多,末尾我会共享几个数据集下载地址

垃圾分类数据集下载
提取码:nr5i

解压后,你会看到这几个文件夹:

请添加图片描述
随机查看部分内容
请添加图片描述
我这里解压到了一个 mydata 目录。这不是必须的,但一会你需要可以找到你的数据集目录。

新建配置文件

其中各个文件的含义大体如下:

  0: cardboard #纸板1: glass #玻璃2: metal #金属3: paper #纸4: plastic #塑料5: trash #垃圾

执行训练

开始之前,请预先下载 yolov5s-cls.pt 模型,记住这个位置,因为下面开始训练钱你需要用到它。

点击下载yolov5s-cls.pt模型

python classify/train.py --model yolov5s-cls.pt --data mydata --epochs 5 --img 224 --batch 128

模型选择

执行训练的时候使用了 --model yolov5s-cls.pt ,这是一种模型,你可以参考下图具体选择,如我们选择 yolov5x ,就可以使用 --model yolov5x-cls.pt ,推荐使用 yolov5s,除非你要求的准确度非常高,不然你需要花费非常长的时间和足够的硬件支持来训练它。

在这里插入图片描述

训练完成

那个 best.pt 就是训练好的模型,它在 runs/ 目录下

在这里插入图片描述

测试模型进行预测

选择一张图片进行测试:

在这里插入图片描述

python classify/predict.py --weights runs/train-cls/exp9/weights/best.pt --source metal4.jpg

在这里插入图片描述

恭喜你,成功的训练了一个简单的分类模型。

自定义模型下载

如果你不想进行从头训练模型,可以下载这个已经训练好的模型进行上一步的 测试模型进行预测

分类模型下载

提取码:jycq

数据集下载地址分享

1:数据集下载地址1

2:数据集下载地址2

问题

如果运行当中出现问题,欢迎咨询。


http://www.ppmy.cn/news/86630.html

相关文章

一图看懂 importlib_metadata 模块:用于提供第三方访问Python包的元数据的库,资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 一图看懂 importlib_metadata 模块:用于提供第三方访问Python包的元数据的库,资料整理笔记(大全) 🧊摘要🧊模块…

04. 数据结构之栈

前言 栈(stack)是一种线性数据的逻辑存储结构。栈中的元素只能先入后出(First In Last Out,简称FILO)。最早进入的元素存放的位置叫作栈底(bottom),最后进入的元素存放的位置叫作栈…

nginx反向代理缓存

背景 nginx 一般用来做反向代理和负载均衡,将客户端请求发送到后端的 jetty,并将 jetty 的响应发送给客户端。后端的 jetty 通常不止一个,nginx 根据配置来选择其中一个 jetty,比较常见的选择策略是轮询。示意图如下 启动缓存支…

谷歌浏览器被2345劫持

方法1: 打开控制面板的卸载程序,搜索2345,把那个恶心的“安全组件-2345”卸载掉!! 这个方法比修改 host 以及注册表要好使地多! 参考网址: 【小技巧】修复chrome被2345劫持 方法2: …

【利用AI让知识体系化】V8引擎相关知识

文章目录 I. 引言V8引擎的背景和概述 II. V8的设计和工作原理V8的整体设计V8的工作流程和运行机制V8在浏览器中的应用场景 III. 内存管理内存模型和内存管理策略垃圾回收机制和算法内存泄漏和内存优化 IV. JIT编译器JIT编译器的作用和优势V8的编译流程和编译器类型编译器优化技…

机器学习常识 4: 分类问题的训练与测试

摘要: 本贴以最为典型的分类问题为例, 描述训练与测试. 1. 基本概念 上午来了 60 个患者, 根据他们的各项检测指标 (即数据), 主治医生给出了诊断结论 (如是否患病, 以及患哪种病), 但不会告诉实习生诊断的方法. 实习生根据这 60 条数据, 归纳总结出了诊断模型 (方法), 这是一…

第三十七回:如何正确地显示BottomeSheet

文章目录 概念介绍显示方法使用showBottomSheet()方法使用showModalBottomSheet()方法 示例代码 我们在上一章回中介绍了 BottomSheet Widget相关的内容,本章回中将介绍 如何正确地显示BottomSheet Widget.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在上…

Java技术接单

今天给大家介绍一个阶段性(周期性)能获取一定收益的Java技术接单群,分享给大家!主要对搞Java的粉丝有帮助,因为可以赚点小钱,对Java技术的要求不高! 那些感兴趣或者想直接加技术群的我给大家讲一…