当前位置: 首页 > 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张数据全部训练。

http://www.lryc.cn/news/505608.html

相关文章:

  • AI工具如何深刻改变我们的工作与生活
  • springboot中——Logback介绍
  • 【Tomcat】第一站:理解tomcat与Socket
  • TQ15EG开发板教程:使用SSH登录petalinux
  • Java从入门到工作4 - MySQL
  • OpenShift 4 - 多云管理(2) - 配置多集群观察功能
  • 【鸿睿创智开发板试用】RK3568 NPU的人工智能推理测试
  • iOS swift开发系列 -- tabbar问题总结
  • 四、CSS3
  • Three使用WebGPU的关键TSL
  • ESP32-S3模组上跑通ES8388(30)
  • 概率论得学习和整理24:EXCEL的各种图形,统计图形
  • WPF中依赖属性的底层和普通属性的底层有什么不一样
  • 【Qt】drawText字体大小问题探究
  • Mapbox-GL 的源码解读的一般步骤
  • 【C++】高级分析 switch 语句的应用
  • 活动预告 | Surface 来了#11:Windows 11 AI+ PC,释放 AI 办公设备的无限潜能
  • php基础:正则表达式
  • go语言压缩[]byte数据为zlib格式的时候,耗时较多,应该怎么修改?
  • [机器学习]AdaBoost(数学原理 + 例子解释 + 代码实战)
  • 深入了解Spring
  • jar 包如何下载
  • ESlint代码规范,手动与自动修复
  • 利用编程获得money?
  • 设计规规范:【App 配色】
  • react 使用 PersistGate 白屏解决方案
  • F5中获取客户端ip地址(client ip)
  • Maven(生命周期、POM、模块化、聚合、依赖管理)详解
  • 电力场景绝缘子缺陷识别分割数据集labelme格式1099张3类别
  • 【k8s集群应用】Kubernetes 容器编排系统