当前位置: 首页 > news >正文

YOLOv8目标检测(四)_图片推理

YOLOv8目标检测(一)_检测流程梳理:YOLOv8目标检测(一)_检测流程梳理_yolo检测流程-CSDN博客

YOLOv8目标检测(二)_准备数据集:YOLOv8目标检测(二)_准备数据集_yolov8 数据集准备-CSDN博客

YOLOv8目标检测(三)_训练模型:YOLOv8目标检测(三)_训练模型_yolo data.yaml-CSDN博客

YOLOv8目标检测(三*)_最佳超参数训练:YOLOv8目标检测(三*)_最佳超参数训练_yolo 为什么要选择yolov8m.pt进行训练-CSDN博客

YOLOv8目标检测(四)_图片推理:YOLOv8目标检测(四)_图片推理-CSDN博客

YOLOv8目标检测(五)_结果文件(run/detrct/train)详解:YOLOv8目标检测(五)_结果文件(run/detrct/train)详解_yolov8 yolov8m.pt可以训练什么-CSDN博客

YOLOv8目标检测(六)_封装API接口:YOLOv8目标检测(六)_封装API接口-CSDN博客

YOLOv8目标检测(七)_AB压力测试:YOLOv8目标检测(七)_AB压力测试-CSDN博客

经过之前的几篇文章,各位读者应该训练好了自己的模型,那么如何验证下效果呢?

这篇文章与各位读者分享如何用模型推理图片

之前我们对数据集进行了82分(也可以91),8是训练集、2是验证集,其实用于训练的比例是80%,反正验证集没有被训练到模型里面,直接用验证集作为测试集不是更好?

答案是:绝对不行!**测试集数据要独立于训练集!!**这里分享下自己对训练集、验证集、测试集的理解供各位参考。

1)训练集:用于训练模型,即让模型通过数据学习到如何预测目标。确定模型权重、偏置等学习参数(学习

2)验证集:用于模型选择和超参数调整。验证集帮助我们避免过拟合,并选择最佳的模型参数和结构。(小考

3)测试集:用于最终评估模型的泛化能力。不参与学习参数过程,也不参与超参数选择过程(高考

解释完概念,各位读者是否更清晰、更坚定了,“用验证集测试它没毛病”,绝对不行奥!笔者是这样理解的:

当模型根据验证集上的表现进行微调时,它实际上是在对模型参数进行小幅度的调整,以便更好地适应验证集上的数据分布和特征。这个过程中,模型可能会“记住”验证集的一些特征,但这并不是指模型像背诵课文那样记住验证集中的具体数据点,而是指模型通过调整其内部参数来更好地拟合验证集上的数据分布和模式。

懵懵的?进一步解释这种“记住”的特征:

1)数据特征:模型可能会学习到验证集上数据的整体分布,如数据的均值、方差、类别比例等。这些信息有助于模型在后续对未知数据进行预测时做出更准确的判断。

2)特征重要性:模型可能会根据验证集上的表现,调整不同特征在预测中的权重。一些在验证集上表现较好的特征可能会被赋予更高的权重,而一些表现较差的特征则可能会被降低权重或忽略。

3)类别边界:对于分类任务,模型可能会根据验证集上的数据点,调整不同类别之间的边界。这有助于模型在后续对未知数据进行分类时,更准确地判断其所属的类别。

好好好,我的朋友,就知道你还是懵懵的,通俗点:

举个例子,假如小鑫的工作是给文件盖章,他刚接触工作时,可能还要看一下这张纸内容,在哪里盖章,干了一段时间之后,他知道了,其实这种文件,百分之90都在右下角盖章,那么他这个盖章的手就放在右下方准备着盖。

验证集虽然没有被用于训练集真正训练,但是验证集给了模型一个“大方向”,用验证集作为测试集,是不可取的。

以上理解可能不是很权威,希望各位读者批评指正!

1.准备测试集

如果你的数据集数量比较多,可以直接将训练集、验证集、测试集分好,推荐7:2:1。

测试集覆盖场景要丰富全面。

最好将正样本图片和负样本图片分别命名,养成好习惯,方便后期梳理调优,如

2.运行预测命令

yolo predict model=。/your_best.pt source='./your_test_images' save=True save_txt=True

运行成功后结果如下:

3.查看结果文件

可以看到

(1)图片保存在runs/detect/predict2

(2)标签保存在runs/detect/predict2/labels

4.小技巧

当数据量过多时,可以先用自己标注的少部分数据训练一个模型,然后用这个模型推理剩余数据。

假如数据10000张,小技巧流程大致如下:

(1)标注1000张

(2)训练模型得到best_v1.pt

(3)使用best_v1.pt运行推理命令得到txt

推理后的图片,肯定需要修改,因为数据量小,模型学习还不完善。

(4)校验

打开labelimg,选择推理后的txt,大部分其实已经可以了,校验细节即可。

(5)训练best_last.pt

将10000张数据全部训练。

相关文章:

YOLOv8目标检测(四)_图片推理

YOLOv8目标检测(一)_检测流程梳理:YOLOv8目标检测(一)_检测流程梳理_yolo检测流程-CSDN博客 YOLOv8目标检测(二)_准备数据集:YOLOv8目标检测(二)_准备数据集_yolov8 数据集准备-CSDN博客 YOLOv8目标检测(三)_训练模型:YOLOv8目标检测(三)_训…...

AI工具如何深刻改变我们的工作与生活

在当今这个科技日新月异的时代,人工智能(AI)已经从科幻小说中的概念变成了我们日常生活中不可或缺的一部分。从智能家居到自动驾驶汽车,从医疗诊断到金融服务,AI正以惊人的速度重塑着我们的世界。 一、工作方式的革新…...

springboot中——Logback介绍

程序中的日志&#xff0c;是用来记录应用程序的运行信息、状态信息、错误信息等。 Logback基本使用 springboot的依赖自动传递了logback的依赖&#xff0c;所以不用再引入依赖 之后在resources文件下创建logback.xml文件&#xff0c;写入 <?xml version"1.0" …...

【Tomcat】第一站:理解tomcat与Socket

目录 1. Tomcat 1.1 Tomcat帮助启动http服务器。 1.2 tomcat理解&#xff1a; 2. 计算机网络最基本的流程 2.1 信息是怎么来的&#xff1f; 2.2 端口是干什么的&#xff1f; 3. 简单的Socket案例 服务端 客户端 启动&#xff1a; 3.2 在Tomcat发送信息&#xff0c;看…...

TQ15EG开发板教程:使用SSH登录petalinux

本例程在上一章“创建运行petalinux2019.1”基础上进行&#xff0c;本例程将实现使用SSH登录petalinux。 将上一章生成的BOOT.BIN与imag.ub文件放入到SD卡中启动。给开发板插入电源与串口&#xff0c;注意串口插入后会识别出两个串口号&#xff0c;都需要打开&#xff0c;查看串…...

Java从入门到工作4 - MySQL

一&#xff1a;检测数据库网络 telnet 127.0.0.1 3306 注意ip和端口后之间是空格&#xff0c;不需要引号 二&#xff1a;SQL语法 1、创建结果集 SELECT 电视机 AS typeUNION SELECT 电冰箱UNION SELECT 洗衣机UNION SELECT 空调UNION SELECT 电脑UNION SELECT 热水器UNION…...

OpenShift 4 - 多云管理(2) - 配置多集群观察功能

《OpenShift / RHEL / DevSecOps 汇总目录》 本文在 OpenShift 4.17 RHACM 2.12 环境中进行验证。 文章目录 多集群观察技术架构安装多集群观察功能监控多集群的运行状态监控多集群的应用运行在被管集群监控应用运行在管理集群监控被管集群的应用运行 参考 多集群观察技术架构…...

【鸿睿创智开发板试用】RK3568 NPU的人工智能推理测试

目录 引言 驱动移植 例程编译 修改build.sh 执行编译 运行测试 部署libc的库文件 执行测试程序 结语 引言 鸿睿创智的H01开发板是基于RK3568芯片的&#xff0c;瑞芯微芯片的一大特色就是提供了NPU推理的支持。本文将对其NPU推理进行测试。 驱动移植 H01的开发板已经…...

iOS swift开发系列 -- tabbar问题总结

1.单视图如何改为tabbar&#xff0c;以便显示2个标签页 右上角➕&#xff0c;输入tabbar 找到控件&#xff0c;然后选中&#xff0c;把entrypoint移动到tabbar控件 2.改成tabbar&#xff0c;生成两个item&#xff0c;配置各自视图后&#xff0c;启动发现报错 Thread 1: “-[p…...

四、CSS3

一、CSS3简介 1、CSS3概述 CSS3 是 CSS2 的升级版本&#xff0c;他在CSS2的基础上&#xff0c;新增了很多强大的新功能&#xff0c;从而解决一些实际面临的问题。 CSS在未来会按照模块化的方式去发展&#xff1a;https://www.w3.org/Style/CSS/current-work.html …...

Three使用WebGPU的关键TSL

Three.js 使用 WebGPU 的关键 TSL TSL: three.js shader language 介绍 three.js 材质转为webgpu的关键流程, 从而引出 TSL. 1、关键类关系 WebGPURenderer|-- library: StandardNodeLibrary|-- _nodes: Nodes|-- _objects: RenderObjects|-- createRenderObject()StandardN…...

ESP32-S3模组上跑通ES8388(30)

接前一篇文章:ESP32-S3模组上跑通ES8388(29) 二、利用ESP-ADF操作ES8388 2. 详细解析 上一回终于解析完了es8388_init函数的所有代码。本回回到调用它的地方,继续往下讲解。 我们是从ESP32-S3模组上跑通ES8388(7)-CSDN博客开始进入es8388_init函数,展开对于它的解析的…...

概率论得学习和整理24:EXCEL的各种图形,统计图形

目录 0 EXCEL的各种图形&#xff0c;统计图形 1 统计图形 / 直方图 / 其实叫 频度图 hist最合适(用原始数据直接作图) 1.1 什么是频度图 1.2 如何创建频度图&#xff0c;一般是只选中1列数据&#xff08;1个数组&#xff09; 1.3 如何修改频度图的宽度 1.4 hist图的一个特…...

WPF中依赖属性的底层和普通属性的底层有什么不一样

WPF中依赖属性的底层 在 WPF 中&#xff0c;依赖属性&#xff08;Dependency Property&#xff09;是 WPF 属性系统的核心&#xff0c;它支持功能强大的特性&#xff08;如数据绑定、动画、样式等&#xff09;。其底层实现是围绕 DependencyObject 类展开的。以下是 WPF 中依赖…...

【Qt】drawText字体大小问题探究

背景 软件的一个功能是&#xff1a; 打开图片在图片上绘制序号&#xff0c;序号的样式是圆圈内包含数字将带有序号的图片打印出来 实现思路也很简单&#xff0c;在屏幕上显示时重写paintEvent函数&#xff0c;利用QPainter完成图片和序号的绘制。打印时只需要将QPainter对应…...

Mapbox-GL 的源码解读的一般步骤

Mapbox-GL 是一个非常优秀的二三维地理引擎&#xff0c;随着智能驾驶时代的到来&#xff0c;应用也会越来越广泛&#xff0c;关于mapbox-gl和其他地理引擎的详细对比&#xff08;比如CesiumJS&#xff09;&#xff0c;后续有时间会加更。地理首先理解 Mapbox-GL 的源码是一项复…...

【C++】高级分析 switch 语句的应用

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;switch 语句的基本用法语法结构核心要点实例演示正确实现 期望输出错误实现错误输出 &#x1f4af;if 与 switch 语句的实现比较使用 if 语句使用 switch 语句比较分析 &am…...

活动预告 | Surface 来了#11:Windows 11 AI+ PC,释放 AI 办公设备的无限潜能

课程介绍 欢迎来到 Surface 来了第 11 期节目。 今年 5 月底&#xff0c;微软推出了专为 AI 体验而设计的全新 Windows PC 品类&#xff1a;Windows 11 AI PC。 微软通过 Windows 11 AI PC&#xff0c;进一步强调了 NPU 在运行设备端 AI 功能的重要性。并要求符合这一品类的…...

php基础:正则表达式

1.正则表达式 正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及替换操作。到目前为止&#xff0c;我们前面所用过的精确&#xff08;文本&#xff09;匹配也是一种正则表达式。 在PHP中&#xff0c;正则表达式一般是由正规字…...

go语言压缩[]byte数据为zlib格式的时候,耗时较多,应该怎么修改?

在Go语言中使用compress/flate包来实现Zlib格式的压缩时&#xff0c;如果发现压缩耗时较多&#xff0c;可以考虑以下几个优化方向&#xff1a; ### 1. 压缩级别 默认情况下&#xff0c;compress/flate包中的NewWriter函数使用的是默认压缩级别&#xff08;BestSpeed和BestComp…...

突破传统切片限制:Excel驱动的GCode设计革命

突破传统切片限制&#xff1a;Excel驱动的GCode设计革命 【免费下载链接】FullControl-GCode-Designer Software for designing GCODE for 3D printing 项目地址: https://gitcode.com/gh_mirrors/fu/FullControl-GCode-Designer 在3D打印领域&#xff0c;GCode设计和参…...

炉石传说脚本完整教程:3步实现自动化游戏,解放双手提升效率

炉石传说脚本完整教程&#xff1a;3步实现自动化游戏&#xff0c;解放双手提升效率 【免费下载链接】Hearthstone-Script Hearthstone script&#xff08;炉石传说脚本&#xff09; 项目地址: https://gitcode.com/gh_mirrors/he/Hearthstone-Script 还在为炉石传说每日…...

iPhone上跑Transformer模型?手把手教你用EfficientFormer部署移动端AI应用

iPhone上部署EfficientFormer&#xff1a;移动端Transformer模型实战指南 当苹果在2023年发布会上演示Stable Diffusion在iPhone 15 Pro上实时运行时&#xff0c;整个科技圈都意识到&#xff1a;移动端AI推理的时代已经到来。作为移动开发者&#xff0c;你是否也想过在自己的Ap…...

Janus-Pro-7B代码实例:Python调用app.py实现图文双向交互

Janus-Pro-7B代码实例&#xff1a;Python调用app.py实现图文双向交互 1. 项目概述 Janus-Pro-7B是一个强大的统一多模态AI模型&#xff0c;能够同时处理图像理解和文本生成图像任务。这个模型特别适合需要图文双向交互的应用场景&#xff0c;比如智能图片分析、创意内容生成、…...

Gemma 4重磅发布:256K超长上下文的多模态AI模型

Gemma 4重磅发布&#xff1a;256K超长上下文的多模态AI模型 【免费下载链接】gemma-4-26B-A4B-it 项目地址: https://ai.gitcode.com/hf_mirrors/google/gemma-4-26B-A4B-it 导语&#xff1a;Google DeepMind推出Gemma 4系列多模态AI模型&#xff0c;以256K超长上下文窗…...

30 秒学会!手机隐藏数码技巧,超实用!打工人、学生党直接封神

家人们谁懂啊&#xff01;每天手机不离手&#xff0c;结果 90% 的隐藏功能全在吃灰&#xff0c;简直亏到姥姥家&#xff01;别再只会打电话、刷短视频了&#xff0c;这些30 秒就能上手的数码冷知识&#xff0c;实用到跺脚&#xff0c;学会直接变身玩机大神&#xff0c;效率直接…...

写字楼外卖管理新工具:爽提智能外卖柜

午间十二点&#xff0c;往往是城市写字楼最喧嚣的时刻。外卖骑手拎着餐盒涌入大堂&#xff0c;电梯口排起长队。前台桌面上堆满了五颜六色的外卖袋&#xff0c;餐盒越堆越高&#xff0c;错拿、丢失、凉透——几乎成为每天必上演的曲目。这不是某个写字楼的个别现象&#xff0c;…...

PyTorch 2.8镜像创意实践:AI音乐生成+歌词视频同步+多模态情感渲染

PyTorch 2.8镜像创意实践&#xff1a;AI音乐生成歌词视频同步多模态情感渲染 1. 项目背景与镜像优势 在数字内容创作领域&#xff0c;音乐视频制作一直是个耗时费力的过程。传统流程需要音乐制作、歌词设计、视频剪辑等多个专业环节配合&#xff0c;成本高且周期长。PyTorch …...

Vue与React核心技术大比拼,万象EXCEL开发(十一)excel 结构化查询 ——东方仙盟金丹期。

Vue 与 React 的核心技术差异 响应式系统实现 Vue 基于 Object.defineProperty&#xff08;Vue 2&#xff09;或 Proxy&#xff08;Vue 3&#xff09;实现数据劫持&#xff0c;自动追踪依赖关系。React 依赖显式的 setState 或 useState 触发重新渲染&#xff0c;采用不可变数据…...

Lychee-Rerank实战案例:专利文献检索中权利要求与技术方案的语义匹配

Lychee-Rerank实战案例&#xff1a;专利文献检索中权利要求与技术方案的语义匹配 1. 引言&#xff1a;当专利检索遇上语义匹配难题 如果你是专利工程师、知识产权分析师&#xff0c;或者从事技术研发工作&#xff0c;一定遇到过这样的场景&#xff1a;面对海量的专利文献&…...