yolov5 6.1 关于 val.py 的使用说明

一. val.py 介绍

主要用于评估已经训练好的模型的性能和精度。通过在验证集上运行模型,计算模型在检测任务上的指标和评估结果。

具体来说分为如下几个步骤:

  1. 加载模型和数据:val.py 会加载训练好的模型权重文件和用于验证的数据集。它会根据配置文件中的设置,加载模型架构和权重,并准备验证数据。

  2. 图像预处理:在验证过程中,输入图像会被预处理以适应模型的要求。这包括调整图像大小、归一化像素值等操作,以确保输入图像符合模型的要求。

  3. 模型推理:val.py 在验证集上运行模型进行推理。它会将预处理后的图像输入模型,得到模型对图像中目标的预测结果。

  4. 后处理和评估:在模型推理完成后,val.py 会对模型的输出结果进行后处理。它会将模型输出的边界框进行解码和筛选,并计算预测结果的精度指标,如精确率、召回率、平均精确率等。

  5. 输出结果和指标:val.py 会将评估结果和指标打印输出到控制台,以提供模型在验证集上的性能信息。这些信息可以用于评估模型的准确性和优化模型的参数和超参数。

通过运行 val.py 脚本,可以对已训练的模型进行验证,了解模型在检测任务上的表现,并根据评估结果进行优化和改进。

二. 使用说明

使用如下指令:

python3 val.py --weights best.engine --data ./dataset/dataset.yaml --half --imgsz 640
参数 说明
–weights best.engine 指定模型(best.engine 为使用 Tensorrt 加速的模型)
–data ./dataset/dataset.yaml 指定验证数据集
–half 使用半精度 FP16 计算
–imgsz 640 指定图片尺寸为 640*640,源码默认无法验证长方形图片,即输入长方形尺寸将会报错

另外还需要保证如何参数设置与检测推理时一样,否则验证结果是无效,不能代表检测推理情况:

参数 说明
–conf-thres 置信度阈值
–iou-thres 非最大抑制(NMS)时的IOU阈值。IOU阈值指定了两个边界框之间的最小重叠程度

三. 参考连接:

  • YOLOv5-6.2 val.py 验证模型在自定义数据集上的效果 精度0.995
  • YOLOv5的Tricks | 【Trick14】YOLOv5的val.py脚本的解析

你可能感兴趣的:(目标检测,YOLO,计算机视觉,深度学习)