mirror of
https://github.com/THU-MIG/yolov10.git
synced 2025-05-23 21:44:22 +08:00
Improve Docs Modes tables (#8266)
Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>
This commit is contained in:
parent
8aa73c4470
commit
e38c7a3022
@ -111,7 +111,7 @@ Model validation on a dataset is streamlined as follows:
|
|||||||
|
|
||||||
!!! Note
|
!!! Note
|
||||||
|
|
||||||
The YOLO-World models provided by Ultralytics come pre-configured with [COCO dataset](../datasets/detect/coco) categories as part of their offline vocabulary, enhancing efficiency for immediate application. This integration allows the YOLOv8-World models to directly recognize and predict the 80 standard categories defined in the COCO dataset without requiring additional setup or customization.
|
The YOLO-World models provided by Ultralytics come pre-configured with [COCO dataset](../datasets/detect/coco.md) categories as part of their offline vocabulary, enhancing efficiency for immediate application. This integration allows the YOLOv8-World models to directly recognize and predict the 80 standard categories defined in the COCO dataset without requiring additional setup or customization.
|
||||||
|
|
||||||
### Set prompts
|
### Set prompts
|
||||||
|
|
||||||
|
@ -73,15 +73,15 @@ Run YOLOv8n benchmarks on all supported export formats including ONNX, TensorRT
|
|||||||
|
|
||||||
Arguments such as `model`, `data`, `imgsz`, `half`, `device`, and `verbose` provide users with the flexibility to fine-tune the benchmarks to their specific needs and compare the performance of different export formats with ease.
|
Arguments such as `model`, `data`, `imgsz`, `half`, `device`, and `verbose` provide users with the flexibility to fine-tune the benchmarks to their specific needs and compare the performance of different export formats with ease.
|
||||||
|
|
||||||
| Key | Value | Description |
|
| Key | Default Value | Description |
|
||||||
|-----------|---------|-----------------------------------------------------------------------|
|
|-----------|---------------|---------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `model` | `None` | path to model file, i.e. yolov8n.pt, yolov8n.yaml |
|
| `model` | `None` | Specifies the path to the model file. Accepts both `.pt` and `.yaml` formats, e.g., `"yolov8n.pt"` for pre-trained models or configuration files. |
|
||||||
| `data` | `None` | path to YAML referencing the benchmarking dataset (under `val` label) |
|
| `data` | `None` | Path to a YAML file defining the dataset for benchmarking, typically including paths and settings for validation data. Example: `"coco128.yaml"`. |
|
||||||
| `imgsz` | `640` | image size as scalar or (h, w) list, i.e. (640, 480) |
|
| `imgsz` | `640` | The input image size for the model. Can be a single integer for square images or a tuple `(width, height)` for non-square, e.g., `(640, 480)`. |
|
||||||
| `half` | `False` | FP16 quantization |
|
| `half` | `False` | Enables FP16 (half-precision) inference, reducing memory usage and possibly increasing speed on compatible hardware. Use `half=True` to enable. |
|
||||||
| `int8` | `False` | INT8 quantization |
|
| `int8` | `False` | Activates INT8 quantization for further optimized performance on supported devices, especially useful for edge devices. Set `int8=True` to use. |
|
||||||
| `device` | `None` | device to run on, i.e. cuda device=0 or device=0,1,2,3 or device=cpu |
|
| `device` | `None` | Defines the computation device(s) for benchmarking, such as `"cpu"`, `"cuda:0"`, or a list of devices like `"cuda:0,1"` for multi-GPU setups. |
|
||||||
| `verbose` | `False` | do not continue on error (bool), or val floor threshold (float) |
|
| `verbose` | `False` | Controls the level of detail in logging output. A boolean value; set `verbose=True` for detailed logs or a float for thresholding errors. |
|
||||||
|
|
||||||
## Export Formats
|
## Export Formats
|
||||||
|
|
||||||
|
@ -72,21 +72,23 @@ Export a YOLOv8n model to a different format like ONNX or TensorRT. See Argument
|
|||||||
|
|
||||||
## Arguments
|
## Arguments
|
||||||
|
|
||||||
Export settings for YOLO models refer to the various configurations and options used to save or export the model for use in other environments or platforms. These settings can affect the model's performance, size, and compatibility with different systems. Some common YOLO export settings include the format of the exported model file (e.g. ONNX, TensorFlow SavedModel), the device on which the model will be run (e.g. CPU, GPU), and the presence of additional features such as masks or multiple labels per box. Other factors that may affect the export process include the specific task the model is being used for and the requirements or constraints of the target environment or platform. It is important to carefully consider and configure these settings to ensure that the exported model is optimized for the intended use case and can be used effectively in the target environment.
|
This table details the configurations and options available for exporting YOLO models to different formats. These settings are critical for optimizing the exported model's performance, size, and compatibility across various platforms and environments. Proper configuration ensures that the model is ready for deployment in the intended application with optimal efficiency.
|
||||||
|
|
||||||
| Key | Value | Description |
|
| Key | Default Value | Description |
|
||||||
|-------------|-----------------|------------------------------------------------------|
|
|-------------|-----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `format` | `'torchscript'` | format to export to |
|
| `format` | `'torchscript'` | Specifies the export format. Supported values include `'torchscript'`, `'onnx'`, `'coreml'`, `'engine'` (TensorRT), `'saved_model'` (TensorFlow SavedModel), etc. |
|
||||||
| `imgsz` | `640` | image size as scalar or (h, w) list, i.e. (640, 480) |
|
| `imgsz` | `640` | Defines the image size for export. Accepts an integer for square images or a tuple `(height, width)` for non-square images. |
|
||||||
| `keras` | `False` | use Keras for TF SavedModel export |
|
| `keras` | `False` | When exporting to TensorFlow SavedModel, setting this to `True` utilizes Keras for the export process. |
|
||||||
| `optimize` | `False` | TorchScript: optimize for mobile |
|
| `optimize` | `False` | Applies to TorchScript exports, enabling optimization for mobile deployments. |
|
||||||
| `half` | `False` | FP16 quantization |
|
| `half` | `False` | Enables half-precision (FP16) quantization for the exported model, reducing size and potentially increasing inference speed on compatible hardware. |
|
||||||
| `int8` | `False` | INT8 quantization |
|
| `int8` | `False` | Activates INT8 quantization, further reducing model size and increasing inference speed at the cost of precision. Useful for edge devices. |
|
||||||
| `dynamic` | `False` | ONNX/TensorRT: dynamic axes |
|
| `dynamic` | `False` | For ONNX and TensorRT formats, enables dynamic axes, allowing variable input sizes for inference. |
|
||||||
| `simplify` | `False` | ONNX/TensorRT: simplify model |
|
| `simplify` | `False` | Simplifies the model structure for ONNX and TensorRT formats, potentially improving efficiency and compatibility. |
|
||||||
| `opset` | `None` | ONNX: opset version (optional, defaults to latest) |
|
| `opset` | `None` | Specifies the ONNX opset version for export. If not set, uses the latest supported version. Useful for ensuring compatibility with older ONNX parsers. |
|
||||||
| `workspace` | `4` | TensorRT: workspace size (GB) |
|
| `workspace` | `4` | Defines the maximum workspace size in GB for TensorRT exports, affecting the optimization process and memory usage. |
|
||||||
| `nms` | `False` | CoreML: add NMS |
|
| `nms` | `False` | When exporting to CoreML, adds a Non-Maximum Suppression (NMS) layer to the model, useful for filtering overlapping detections. |
|
||||||
|
|
||||||
|
Adjusting these parameters allows for customization of the export process to fit specific requirements, such as deployment environment, hardware constraints, and performance targets. Selecting the appropriate format and settings is essential for achieving the best balance between model size, speed, and accuracy.
|
||||||
|
|
||||||
## Export Formats
|
## Export Formats
|
||||||
|
|
||||||
|
@ -75,23 +75,54 @@ Validate trained YOLOv8n model accuracy on the COCO128 dataset. No argument need
|
|||||||
yolo detect val model=path/to/best.pt # val custom model
|
yolo detect val model=path/to/best.pt # val custom model
|
||||||
```
|
```
|
||||||
|
|
||||||
## Arguments
|
## Arguments for YOLO Model Validation
|
||||||
|
|
||||||
Validation settings for YOLO models refer to the various hyperparameters and configurations used to evaluate the model's performance on a validation dataset. These settings can affect the model's performance, speed, and accuracy. Some common YOLO validation settings include the batch size, the frequency with which validation is performed during training, and the metrics used to evaluate the model's performance. Other factors that may affect the validation process include the size and composition of the validation dataset and the specific task the model is being used for. It is important to carefully tune and experiment with these settings to ensure that the model is performing well on the validation dataset and to detect and prevent overfitting.
|
When validating YOLO models, several arguments can be fine-tuned to optimize the evaluation process. These arguments control aspects such as input image size, batch processing, and performance thresholds. Below is a detailed breakdown of each argument to help you customize your validation settings effectively.
|
||||||
|
|
||||||
| Key | Value | Description |
|
| Key | Default Value | Description |
|
||||||
|---------------|---------|--------------------------------------------------------------------|
|
|---------------|---------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `data` | `None` | path to data file, i.e. coco128.yaml |
|
| `data` | `None` | The path to the dataset configuration file (e.g., `coco128.yaml`). This file specifies the dataset's structure, including the classes, train, and validation set paths. |
|
||||||
| `imgsz` | `640` | size of input images as integer |
|
| `imgsz` | `640` | The input image size as an integer. This size is used to resize images during validation, impacting detection accuracy and inference speed. |
|
||||||
| `batch` | `16` | number of images per batch (-1 for AutoBatch) |
|
| `batch` | `16` | The number of images processed in each batch. A larger batch size can speed up validation but requires more memory. Use `-1` for AutoBatch to automatically adjust based on available memory. |
|
||||||
| `save_json` | `False` | save results to JSON file |
|
| `save_json` | `False` | If set to `True`, validation results are saved in a JSON format, useful for further analysis or submission to evaluation servers. |
|
||||||
| `save_hybrid` | `False` | save hybrid version of labels (labels + additional predictions) |
|
| `save_hybrid` | `False` | When `True`, saves a hybrid version of labels combining ground truth with model predictions. This can be useful for visualizing model performance or training enhancements. |
|
||||||
| `conf` | `0.001` | object confidence threshold for detection |
|
| `conf` | `0.001` | The minimum confidence threshold for considering detections. Increasing this value may reduce false positives but could also miss less confident detections. |
|
||||||
| `iou` | `0.6` | intersection over union (IoU) threshold for NMS |
|
| `iou` | `0.6` | The Intersection Over Union (IoU) threshold for Non-Maximum Suppression (NMS). Higher values result in fewer detections by eliminating more overlapping boxes. |
|
||||||
| `max_det` | `300` | maximum number of detections per image |
|
| `max_det` | `300` | The maximum number of detections allowed per image. Useful for limiting outputs in images with many objects. |
|
||||||
| `half` | `True` | use half precision (FP16) |
|
| `half` | `True` | Enables half precision (FP16) to speed up validation on compatible hardware without significantly affecting accuracy. |
|
||||||
| `device` | `None` | device to run on, i.e. cuda device=0/1/2/3 or device=cpu |
|
| `device` | `None` | Specifies the computation device, such as a specific GPU (`cuda:0`) or CPU (`cpu`). This setting allows for model validation on different hardware configurations. |
|
||||||
| `dnn` | `False` | use OpenCV DNN for ONNX inference |
|
| `dnn` | `False` | If `True`, uses OpenCV's DNN module for ONNX model inference. This option can be beneficial for environments where CUDA is unavailable. |
|
||||||
| `plots` | `False` | save plots and images during train/val |
|
| `plots` | `False` | Enables the generation of plots and saved images during validation, providing visual insights into model performance. |
|
||||||
| `rect` | `False` | rectangular val with each batch collated for minimum padding |
|
| `rect` | `False` | Applies rectangular inference, minimizing padding by processing images in their original aspect ratio. This can improve accuracy and speed but may require more memory. |
|
||||||
| `split` | `val` | dataset split to use for validation, i.e. 'val', 'test' or 'train' |
|
| `split` | `val` | Defines the dataset split to use for validation (e.g., 'val', 'test', 'train'). This allows for flexible validation across different parts of the dataset. |
|
||||||
|
|
||||||
|
Each of these settings plays a vital role in the validation process, allowing for a customizable and efficient evaluation of YOLO models. Adjusting these parameters according to your specific needs and resources can help achieve the best balance between accuracy and performance.
|
||||||
|
|
||||||
|
### Example Validation with Arguments
|
||||||
|
|
||||||
|
The below examples showcase YOLO model validation with custom arguments in Python and CLI.
|
||||||
|
|
||||||
|
!!! Example
|
||||||
|
|
||||||
|
=== "Python"
|
||||||
|
|
||||||
|
```python
|
||||||
|
from ultralytics import YOLO
|
||||||
|
|
||||||
|
# Load a model
|
||||||
|
model = YOLO('yolov8n.pt')
|
||||||
|
|
||||||
|
# Customize validation settings
|
||||||
|
validation_results = model.val(data='coco8.yaml',
|
||||||
|
imgsz=640,
|
||||||
|
batch=16,
|
||||||
|
conf=0.25,
|
||||||
|
iou=0.6,
|
||||||
|
device='0')
|
||||||
|
```
|
||||||
|
|
||||||
|
=== "CLI"
|
||||||
|
|
||||||
|
```bash
|
||||||
|
yolo val model=yolov8n.pt data=coco8.yaml imgsz=640 batch=16 conf=0.25 iou=0.6 device=0
|
||||||
|
```
|
||||||
|
Loading…
x
Reference in New Issue
Block a user