首页 > 其他分享 >解决:YOLOv8训练数据集时P、R、mAP等值均为0的问题

解决:YOLOv8训练数据集时P、R、mAP等值均为0的问题

时间:2024-10-22 21:19:43浏览次数:11  
标签:mAP 集时 训练 cache YOLOv8 pytorch train Adam data

文章目录

问题

在这里插入图片描述
使用YOLOv8训练自己的数据集时,出现P、R、mAP等值均为0的问题

Model summary (fused): 186 layers, 2,685,733 parameters, 0 gradients, 6.8 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 13.29it/s]
                   all          2         12          0          0          0          0
Speed: 0.7ms preprocess, 28.2ms inference, 0.0ms loss, 5.0ms postprocess per image

解决

1.匹配pytorch与cuda的版本

Win+R输入cmd打开命令行,输入命令nvidia-smi查看cuda版本,本机为CUDA:12.6
在这里插入图片描述

在pytorch官网找到以前的版本:https://pytorch.org/get-started/previous-versions/

我这里选择CUDA 12.1的pytorch版本

# CUDA 12.1
pip install torch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu121

2.使用 Adam 优化器

在使用 YOLOv8 进行训练时,默认的优化器是 SGD(Stochastic Gradient Descent),可以通过命令行参数或代码修改优化器为 Adam

yolo task=detect mode=train model=yolov8n.pt data=your_dataset.yaml epochs=100 imgsz=640  optimizer=Adam

3.加大训练轮数epoch

我训练自己的数据集大概标注了10来张,前面训练的时候P、R、mAP也为0,到后面才开始增长的

yolo task=detect mode=train model=yolov8n.pt data=your_dataset.yaml epochs=200 imgsz=640  optimizer=Adam

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

4. 删除data/labels下的train.cache和val.cache

在修改数据集后,若之前训练过,在训练前删除这两个train.cache和val.cache
在这里插入图片描述

标签:mAP,集时,训练,cache,YOLOv8,pytorch,train,Adam,data
From: https://blog.csdn.net/qq_38473254/article/details/142737190

相关文章

  • Redis 的位图(Bitmap)设计签到系统
    在使用Redis的位图(Bitmap)实现签到系统时,可以通过字符串的位定位(bitposition)来记录用户的签到状态。这是一种高效的存储和检索方式,因为你可以在一个字符串中使用位来表示二进制状态,通常每一位(bit)代表一个用户或一天的状态。以下是如何实现签到系统的思路:设计数据结构:每个用户......
  • YOLOv8模型改进 第十三讲 添加卷积和注意力融合模块(CAFM) 提升小目标和遮挡检测
             本文旨在介绍一种全新的改进机制——卷积和注意力融合模块(CAFM),并详细阐述其在YOLOv8中的应用,以显著提升模型性能。首先,CAFM的设计目的是融合卷积神经网络(CNNs)和Transformer的优势,从而能够对全局和局部特征进行有效建模。随后,我们将深入探讨该模块的模......
  • 生成对抗网络模拟缺失数据,辅助PAMAP2数据集仿真实验
    PAMAP2数据集是一个包含丰富身体活动信息的数据集,它为我们提供了一个理想的平台来开发和测试HAR模型。本文将从数据集的基本介绍开始,逐步引导大家通过数据分割、预处理、模型训练,到最终的性能评估,在接下来的章节中,我们将详细介绍PAMAP2数据集的特点、数据预处理的关键步骤......
  • 使用 `com.google.gson` 库将 Java 对象转换为 JSON 字符串,并且确保 `data` 字段是 `M
    要使用com.google.gson库将Java对象转换为JSON字符串,并且确保data字段是Map<String,Object>类型的,你可以按照以下步骤编写一个示例代码。这个示例代码将创建一个包含data字段的Java对象,并将data字段初始化为一个Map<String,Object>,然后动态地向其中添加......
  • 深入理解 Bitmap 应用于缓存穿透与解决方案
    文章目录常见的解决方案方案一:ID校验(检查ID是否小于零)方案二:缓存空结果进阶方案:列表验证合法性使用**Bitmap**优化存储空间Java实现示例:优化提示:结合布隆过滤器减少误判方案总结缓存穿透问题表面上看似复杂,实际上它的本质非常简单:当请求数据库中不存在的数据......
  • (multi)map和set--C++
    文章目录一、序列式容器和关联式容器二、set系列的使用1、set和multiset参考文档2、set类的介绍3、set的构造和迭代器4、set的增删查5、insert和迭代器遍历使用样例:6、find和erase使用样例:7、multiset和set的差异三、map系列的使用1、map和multimap参考文档2、map类的介......
  • 用糊弄学打开yolov8源码之yolov8.yaml
    yolov8源码下载:https://github.com/ultralytics/ultralyticsgithub.com/ultralytics/ultralytics打开源码完全不知道该从哪个文件开始看(……查看一些资料后……)决定先理解一下 yolov8.yaml 所在位置:ultralytics\cfg\models\v8\yolov8.yamlcfg\models文件夹下是各个模型......
  • 使用mmap()创建内存映射
    系统调用(mmap和munmap)mmap内存映射类型mmap()系统调用用于在调用进程的虚拟地址空间中创建内存映射,主要分为两种类型:文件映射:将文件的一部分直接映射到虚拟内存中,允许通过内存访问文件内容,映射的分页会在需要时自动加载匿名映射:没有对应文件,分页初始化为0,可以视为一......
  • YOLOv8性能提升:基于SPD-Conv的高效空间深度转换卷积技术解析【YOLOv8】
    本专栏专为AI视觉领域的爱好者和从业者打造。涵盖分类、检测、分割、追踪等多项技术,带你从入门到精通!后续更有实战项目,助你轻松应对面试挑战!立即订阅,开启你的YOLOv8之旅!专栏订阅地址:https://blog.csdn.net/mrdeam/category_12804295.html文章目录YOLOv8性能提升:基于SPD......
  • YOLOv8改进:引入LSKAttention大核注意力机制,助力目标检测性能极限提升【YOLOv8】
    本专栏专为AI视觉领域的爱好者和从业者打造。涵盖分类、检测、分割、追踪等多项技术,带你从入门到精通!后续更有实战项目,助你轻松应对面试挑战!立即订阅,开启你的YOLOv8之旅!专栏订阅地址:https://blog.csdn.net/mrdeam/category_12804295.html文章目录YOLOv8改进:引入LSKAtte......