yolov5如何用测试集对模型进行性能评估

yolov5如何用测试集对模型进行性能评估,并计算模型在测试集上的精确率,召回率和精确率均值(mAP)来评价模型的性能,这个不会计算呀,相关代码也不知道怎么整,有会的吗?

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7651116
  • 除此之外, 这篇博客: yolov5使用自己的数据集训练中的 3.4.1 计算mAP 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 主要使用根目录下的test.py文件,有两种方法,建议使用方法二,因为test.py文件在训练过程中也会使用到,第一种方法修改了默认的参数,可能会导致以后再次训练时出错。
    方法一:修改test.py文件中的相关参数,主要是修改–weights模型地址、–data数据集配置文件地址,–task当前进行的任务,这三个参数,其他的都可以看情况自行修改。
    在这里插入图片描述
    各种可修改参数的解释:

    --weights :模型路径,
    --data:数据集的配置文件
    --batch-size:默认值32
    --img-size:图片大小,默认640
    --conf-thres:目标置信度阈值
    --iou-thres:NMS的IOU阈值
    --save-json:把结果保存为cocoapi-compatible的json文件
    --task:当前进行的任务,改为test,可选其他值:val, test, study
    --device:cuda设备,例如:0或0,1,2,3或cpu,默认’’
    --half:半精度的FP16推理
    --single-cls:将其视为单类别,布尔值
    --augment:增强推理,布尔值
    --verbose:显示类别的mAP,布尔值
    

    修改完之后,直接运行test.py就能够得到测试的结果了,输出内容:
    在这里插入图片描述
    并且在runs\test\exp目录下有更多测试的细节信息:

    在这里插入图片描述
    使用该方法进行测试后,在下一次训练之前一定要将–task参数的默认值改回val
    方法二:使用命令给定各个参数值进行测试,不修改test.py文件中的参数。
    在yolov5-master目录中打开命令提示符,再激活torch环境,然后输入下列命令:

    python test.py --weights ./runs/train/exp/weights/best.pt --data ./data/myvoc.yaml --batch 32 --img 640 --task test --device 0 
    

    其他可修改的参数和运行结果同上。