yolov8训练文件夹文件目录介绍及讲解

发布于:2024-06-26 ⋅ 阅读:(13) ⋅ 点赞:(0)

背景说明        

        凡是使用过yolov8算法的朋友都知道,在使用yolov8算法训练模型完成后,会在代码目录下默认生成一个runs文件夹,该文件夹通常用来保存模型的训练任务以及相关的模型信息。

如果我们按照任务分类进行点击进入,会发现每一个文件夹下面包含我们使用算法进行的每次操作,比如训练、验证、预测等。

本文主要针对yolov8训练的train文件夹相关内容进行介绍及说明。

目录介绍

        当你使用 YOLOv8 进行训练后,生成的文件夹和文件包含了模型训练的各种信息。下面是一个典型的 YOLOv8 训练输出文件夹结构以及每个文件/文件夹的解释,以目标检测的训练文件夹为例(不同的yolov版本会有一些差异): 

runs/
├── detect/
│   └── exp/
│       ├── weights/
│       │   ├── best.pt
│       │   └── last.pt
│       ├── results.png
│       ├── results.txt
│       ├── events.out.tfevents.xxxxx
│       ├── labels_correlogram.jpg
│       ├── confusion_matrix.png
│       ├── F1_curve.png
│       ├── PR_curve.png
│       ├── P_curve.png
│       ├── R_curve.png
│       └── val_batch*.jpg
└── other/

详细解释

weights/

  • best.pt:这是训练过程中表现最好的模型权重文件。通常根据验证集上的性能指标(如mAP)来选择。
  • last.pt:这是训练结束时的最后一个模型权重文件。
results.png
  • 这是一个图像,展示了训练过程中各种指标(如损失、精度、召回率等)如何随时间变化的曲线图。通过这个图,你可以直观地看到训练过程中的模型性能变化。
results.txt
  • 这个文件包含了训练过程中的详细日志信息,包括每个epoch的损失值、学习率、精度等。
events.out.tfevents.xxxxx
  • 这是 TensorBoard 使用的日志文件。如果你使用 TensorBoard 来可视化训练过程中的指标,这个文件会被加载并显示相应的数据。
labels_correlogram.jpg
  • 这是一个标签共现矩阵图,显示了不同类别标签在数据集中同时出现的频率。这对于了解数据集中标签的分布和关联性非常有用。
confusion_matrix.png
  • 混淆矩阵图,显示了模型在验证集上的分类性能。矩阵中的每个单元表示实际类别和预测类别之间的关系。
F1_curve.png
  • F1分数曲线图,展示了F1分数随阈值变化的情况。F1分数是精度和召回率的调和平均数,反映了模型的整体性能。
PR_curve.png
  • 精度-召回曲线图,展示了模型在不同阈值下的精度和召回率之间的权衡。
P_curve.png
  • 精度曲线图,展示了模型在不同阈值下的精度变化情况。
R_curve.png
  • 召回率曲线图,展示了模型在不同阈值下的召回率变化情况。
val_batch*.jpg
  • 这些图像文件展示了模型在验证集上的一些预测结果,包括预测的边界框和类别标签。这些图像有助于直观地检查模型的检测性能。

实际训练过程中,会有一些差异,但是结果大同小异,以下是我训练后的结果截图:

 对比了一下,主要还是和yolov的系列,比如yolov5,yolov7,yolov8有关,或者和版本号有关,但是主要的文件都是以上那些信息。