Back to Ultralytics

Validation Args

docs/macros/validation-args.md

8.4.4613.5 KB
Original Source
ArgumentTypeDefaultDescription
datastrNoneSpecifies the path to the dataset configuration file (e.g., coco8.yaml). This file should include the path to the validation data.
imgszint640Defines the size of input images. All images are resized to this dimension before processing. Larger sizes may improve accuracy for small objects but increase computation time.
batchint16Sets the number of images per batch. Higher values utilize GPU memory more efficiently but require more VRAM. Adjust based on available hardware resources.
save_jsonboolFalseIf True, saves the results to a JSON file for further analysis, integration with other tools, or submission to evaluation servers like COCO.
conffloat0.001Sets the minimum confidence threshold for detections. Lower values increase recall but may introduce more false positives. Used during validation to compute precision-recall curves.
ioufloat0.7Sets the Intersection Over Union threshold for Non-Maximum Suppression. Controls duplicate detection elimination.
max_detint300Limits the maximum number of detections per image. Useful in dense scenes to prevent excessive detections and manage computational resources.
halfboolFalseEnables half-precision (FP16) computation, reducing memory usage and potentially increasing speed with minimal impact on accuracy.
devicestrNoneSpecifies the device for validation (cpu, cuda:0, npu, npu:0, etc.). When None, automatically selects the best available device. Multiple CUDA devices can be specified with comma separation.
dnnboolFalseIf True, uses the OpenCV DNN module for ONNX model inference, offering an alternative to PyTorch inference methods.
plotsboolTrueWhen set to True, generates and saves plots of predictions versus ground truth, confusion matrices, and PR curves for visual evaluation of model performance.
classeslist[int]NoneSpecifies a list of class IDs to evaluate. Useful for filtering out and focusing only on certain classes during evaluation.
rectboolTrueIf True, uses rectangular inference for batching, reducing padding and potentially increasing speed and efficiency by processing images in their original aspect ratio.
splitstr'val'Determines the dataset split to use for validation (val, test, or train). Allows flexibility in choosing the data segment for performance evaluation.
projectstrNoneName of the project directory where validation outputs are saved. Helps organize results from different experiments or models.
namestrNoneName of the validation run. Used for creating a subdirectory within the project folder, where validation logs and outputs are stored.
verboseboolTrueIf True, displays detailed information during the validation process, including per-class metrics, batch progress, and additional debugging information.
save_txtboolFalseIf True, saves detection results in text files, with one file per image, useful for further analysis, custom post-processing, or integration with other systems.
save_confboolFalseIf True, includes confidence values in the saved text files when save_txt is enabled, providing more detailed output for analysis and filtering.
workersint8Number of worker threads for data loading. Higher values can speed up data preprocessing but may increase CPU usage. Setting to 0 uses main thread, which can be more stable in some environments.
augmentboolFalseEnables test-time augmentation (TTA) during validation, potentially improving detection accuracy at the cost of inference speed by running inference on transformed versions of the input.
agnostic_nmsboolFalseEnables class-agnostic Non-Maximum Suppression, which merges overlapping boxes regardless of their predicted class. Useful for instance-focused applications. For end-to-end models (YOLO26, YOLOv10), this only prevents the same detection from appearing with multiple class labels (IoU=1.0 duplicates) and does not perform IoU-threshold-based suppression between distinct boxes.
single_clsboolFalseTreats all classes as a single class during validation. Useful for evaluating model performance on binary detection tasks or when class distinctions aren't important.
visualizeboolFalseVisualizes the ground truths, true positives, false positives, and false negatives for each image. Useful for debugging and model interpretation.
compilebool or strFalseEnables PyTorch 2.x torch.compile graph compilation with backend='inductor'. Accepts True"default", False → disables, or a string mode such as "default", "reduce-overhead", "max-autotune-no-cudagraphs". Falls back to eager with a warning if unsupported.
end2endboolNoneOverrides the end-to-end mode in YOLO models that support NMS-free inference (YOLO26, YOLOv10). Setting it to False lets you run validation using the traditional NMS pipeline, additionally allowing you to make use of the iou argument.