首页 > 其他分享 >YOLOv8目标检测(四)_图片推理

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

时间:2024-12-14 18:58:35浏览次数:6  
标签:训练 验证 检测 模型 YOLOv8 数据 推理

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

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

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

YOLOv8目标检测(三*)_最佳超参数训练:YOLOv8目标检测(三*)_最佳超参数训练-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,数据,推理
From: https://blog.csdn.net/weixin_48870215/article/details/144425479

相关文章

  • yolov8 转华为昇腾om脚本
    目录yolov8转华为昇腾om脚本测试ok推理demo:yolov8转华为昇腾om脚本测试okimportsysimportosos.chdir(os.path.dirname(os.path.abspath(__file__)))importtorchcurrent_dir=os.path.dirname(os.path.abspath(__file__))paths=[os.path.abspath......
  • 显著性目标检测:一项调查
    摘要从自然场景中检测和分割显著目标(通常称为显著目标检测)引起了计算机视觉的极大兴趣。尽管已经提出了许多模型并且出现了一些应用,但仍然缺乏对成就和问题的深入理解。我们的目标是对显著目标检测的最新进展进行全面回顾,并将该领域置于其他密切相关的领域中,例如通用场景分割......
  • 如何使用shell脚本检测磁盘使用率?
    在Linux系统中,使用shell脚本检测磁盘使用率是一种常见的任务。以下是一些基本步骤和示例脚本,帮助你实现这一功能。1.使用 df 命令df 命令是查看文件系统磁盘空间使用情况的标准工具。你可以使用它来获取磁盘使用率的百分比。2.编写脚本以下是一个简单的shell脚本示例,用于......
  • 【目标检查】YOLO系列之:Triton 推理服务器Ultralytics YOLO11
    Triton推理服务器1、引言2、Triton服务器2.1什么是TritonInferenceServer2.2将YOLO11导出为ONNX格式2.3设置Triton模型库2.3.1创建目录结构2.3.2将导出的ONNX模型移至Triton资源库2.4运行Triton推断服务器2.4.1使用Docker运行TritonInferenceServer......
  • 亚马逊跟卖选品避坑指南:跟卖模式和侵权检测
    刚入行的亚马逊小白想要做跟卖?连什么是跟卖都没搞懂?跟卖有哪几种模式?哪些链接适合跟卖?跟卖需要注意什么?什么是跟卖?亚马逊跟卖就是原卖家做了一个listing,然后你也可以去卖这个产品,但是你不需要去编写listing,而是和别的卖家共享这个listing,大家都可以去卖,只需要你的价格低一......
  • 如何知道一个大模型在推理和训练时需要多少显存?
    视频地址:https://www.youtube.com/watch?v=Z9eV9mbB6uY相关地址:https://huggingface.co/spaces/hf-accelerate/model-memory-usage详细内容:https://techdiylife.github.io/blog/topic.html?category2=t05&blogid=00312开发环境Transformers4.38.1Accelerate0.27......
  • 基于UI交互意图理解的异常检测方法12
     1.背景近年来,随着美团多种业务线的扩充和迭代,UI测试的任务愈发繁重。针对UI测试中人工成本过高的问题,美团到店测试团队开发了视觉自动化工具以进行UI界面的静态回归检查。然而,对于UI交互功能逻辑的检验仍强依赖于脚本测试,其无法满足对于进一步效率、覆盖面提升的强烈需求。......
  • 为了改一行代码,我花了10多天时间,让性能提升了40多倍---Pascal架构GPU在vllm下的模型推
    ChatGPT生成的文章摘要这篇博客记录了作者在家中使用Pascal显卡运行大型模型时遇到的挑战和解决方案。随着本地大型模型性能的提升,作者选择使用vllm库进行推理。然而,作者遇到了多个技术难题,需要自行编译vllm和PyTorch,以支持Pascal架构的显卡。编译过程中,作者深入研究了显卡不支持......
  • 转载:【AI系统】推理引擎示例:AscendCL
    AscendCL作为华为Ascend系列AI处理器的软件开发框架,为用户提供了强大的编程支持。通过AscendCL,开发者可以更加高效地进行AI应用的开发和优化,从而加速AI技术在各个领域的应用和落地。AscendCL的易用性和高效性,使得它成为开发AI应用的重要工具之一。本文将介绍Ascend......
  • 转载:【AI系统】昇腾推理引擎 MindIE
    本文将介绍华为昇腾推理引擎MindIE的详细内容,包括其基本介绍、关键功能特性以及不同组件的详细描述。本文内容将深入探讨MindIE的三个主要组件:MindIE-Service、MindIE-Torch和MindIE-RT,以及它们在服务化部署、大模型推理和推理运行时方面的功能特性和应用场景。通过本文的......