Val模式用于在YOLOv8
模型经过训练后对其进行验证。在此模式下,模型在验证集上进行评估,以衡量其准确性和泛化性能。此模式可用于调整模型的超参数以提高其性能。
Note:YOLOv8模型会自动记住它们的训练设置,因此您可以在相同的图像大小和原始数据集上轻松验证模型,只需yolo val model=yolov8n.pt
或model('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’ |