yolov5如何用测试集对模型进行性能评估,并计算模型在测试集上的精确率,召回率和精确率均值(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
其他可修改的参数和运行结果同上。