【目标检测】YOLOV8实战入门(四)模型验证


Val模式用于在YOLOv8模型经过训练后对其进行验证。在此模式下,模型在验证集上进行评估,以衡量其准确性和泛化性能。此模式可用于调整模型的超参数以提高其性能。

Note:YOLOv8模型会自动记住它们的训练设置,因此您可以在相同的图像大小和原始数据集上轻松验证模型,只需yolo val model=yolov8n.ptmodel('yolov8n.pt').val()

COCO128数据集上验证经过训练的YOLOv8n模型的准确性,无需传递参数,因为模型将其训练数据和参数保留为模型属性。有关导出参数的完整列表,请参阅下面的参数部分。

 # 训练后进行验证
model = YOLO('yolov8n.yaml')
model.train(data='coco128.yaml', epochs=5)
metrics = model.val()  # 自动评估训练的数据

# 独立验证
model = YOLO("model.pt")
  # 如果不设置数据,它将使用model.pt中的数据集相关yaml文件。
metrics = model.val()
  # 也可以设置自已想要的验证数据
metrics = model.val(data='coco128.yaml')

metrics.box.map    # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps   # a list contains map50-95 of each category

YOLO模型的验证设置是指用于评估模型在验证数据集上的性能的各种超参数和配置。这些设置会影响模型的性能、速度和准确性。一些常见的验证设置包括批量大小、训练期间执行验证的频率以及用于评估模型性能的指标。其他可能影响验证过程的因素包括验证数据集的大小和组成以及模型正在用于的特定任务。仔细调整和试验这些设置非常重要,以确保模型在验证数据集上表现良好,并检测和防止过度拟合。

相关参数如下

Key Value Description
data None path to data file, i.e. coco128.yaml
imgsz 640 image size as scalar or (h, w) list, i.e. (640, 480)
batch 16 number of images per batch (-1 for AutoBatch)
save_json False save results to JSON file
save_hybrid False save hybrid version of labels (labels + additional predictions)
conf 0.001 object confidence threshold for detection
iou 0.6 intersection over union (IoU) threshold for NMS
max_det 300 maximum number of detections per image
half True use half precision (FP16)
device None device to run on, i.e. cuda device=0/1/2/3 or device=cpu
dnn False use OpenCV DNN for ONNX inference
plots False show plots during training
rect False rectangular val with each batch collated for minimum padding
split val dataset split to use for validation, i.e. ‘val’, ‘test’ or ‘train’

猜你喜欢

转载自blog.csdn.net/qq_43456016/article/details/130448207