一. 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阈值指定了两个边界框之间的最小重叠程度

三. 参考连接:

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐