Link to this sectionEvaluación comparativa de modelos con Ultralytics YOLO#
Link to this sectionVisualización de la evaluación comparativa#
Es posible que necesites actualizar la página para ver las gráficas correctamente debido a posibles problemas con las cookies.
Link to this sectionIntroducción#
Una vez que tu modelo esté entrenado y validado, el siguiente paso lógico es evaluar su rendimiento en diversos escenarios del mundo real. El modo Benchmark en Ultralytics YOLO26 sirve para este propósito al proporcionar un marco sólido para evaluar la velocidad y la precisión de tu modelo en una variedad de formatos de exportación.
Watch: Benchmark Ultralytics YOLO26 Models | How to Compare Model Performance on Different Hardware?
Link to this section¿Por qué es crucial la evaluación comparativa?#
- Decisiones informadas: Obtén información sobre las compensaciones entre velocidad y precisión.
- Asignación de recursos: Comprende cómo funcionan los diferentes formatos de exportación en distintos tipos de hardware.
- Optimización: Aprende qué formato de exportación ofrece el mejor rendimiento para tu caso de uso específico.
- Eficiencia de costes: Haz un uso más eficiente de los recursos de hardware basándote en los resultados de la evaluación comparativa.
Link to this sectionMétricas clave en el modo Benchmark#
- mAP50-95: Para detección de objetos, segmentación y estimación de poses.
- accuracy_top1: Para image classification.
- Tiempo de inferencia: Tiempo necesario para cada imagen en milisegundos.
Link to this sectionFormatos de exportación compatibles#
- ONNX: Para un rendimiento óptimo en CPU
- TensorRT: Para una eficiencia máxima en GPU
- OpenVINO: Para optimización en hardware Intel
- CoreML, TensorFlow SavedModel y más: Para diversas necesidades de despliegue.
- Exporta a ONNX u OpenVINO para obtener hasta 3 veces más velocidad en CPU.
- Exporta a TensorRT para obtener hasta 5 veces más velocidad en GPU.
Link to this sectionEjemplos de uso#
Instala Ultralytics con dependencias de exportación antes de realizar la evaluación comparativa para evitar la falta de paquetes.
pip install ultralytics[export]Ejecuta las evaluaciones comparativas de YOLO26n en todos los formatos de exportación compatibles (ONNX, TensorRT, etc.). Consulta la sección de Argumentos a continuación para ver una lista completa de las opciones de exportación.
from ultralytics.utils.benchmarks import benchmark
# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
# Benchmark specific export format
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, format="onnx")Link to this sectionArgumentos#
Argumentos como model, data, imgsz, half, device, verbose y format brindan a los usuarios la flexibilidad de ajustar las evaluaciones comparativas a sus necesidades específicas y comparar el rendimiento de diferentes formatos de exportación con facilidad.
| Clave | Valor predeterminado | Descripción |
|---|---|---|
model | None | Especifica la ruta al archivo del modelo. Acepta formatos .pt y .yaml, por ejemplo, "yolo26n.pt" para modelos preentrenados o archivos de configuración. |
data | None | Ruta a un archivo YAML que define el conjunto de datos para la evaluación comparativa, que normalmente incluye rutas y configuraciones para los datos de validación. Ejemplo: "coco8.yaml". |
imgsz | 640 | El tamaño de la imagen de entrada para el modelo. Debe ser un único número entero para imágenes cuadradas (p. ej., 640); benchmark() solo admite tamaños de imagen cuadrados. |
half | False | Habilita la inferencia FP16 (precisión media), lo que reduce el uso de memoria y posiblemente aumenta la velocidad en hardware compatible. Usa half=True para habilitarlo. |
int8 | False | Activa la cuantización INT8 para un rendimiento aún más optimizado en dispositivos compatibles, especialmente útil para dispositivos de borde. Establece int8=True para usarlo. |
device | 'cpu' | Define el dispositivo o dispositivos de computación para la evaluación comparativa, como "cpu" o "cuda:0". |
verbose | False | Controla el nivel de detalle en la salida de registro. Establece verbose=True para registros detallados. |
format | '' | Evalúa comparativamente solo el formato de exportación especificado (p. ej., format=onnx). Déjalo en blanco para probar todos los formatos compatibles automáticamente. |
Link to this sectionFormatos de exportación#
Las evaluaciones comparativas intentarán ejecutarse automáticamente en todos los formatos de exportación posibles enumerados a continuación. Alternativamente, puedes ejecutar evaluaciones para un formato específico usando el argumento format, que acepta cualquiera de los formatos mencionados a continuación.
| Formato | Argumento format | Modelo | Metadatos | Argumentos |
|---|---|---|---|---|
| PyTorch | - | yolo26n.pt | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, half, int8, dynamic, simplify, opset, nms, batch, data, fraction, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, half, dynamic, int8, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, half, int8, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, int8, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, batch, device |
| TF Lite | tflite | yolo26n.tflite | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, int8, data, fraction, device |
| TF.js | tfjs | yolo26n_web_model/ | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, int8, half, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, half, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, int8, data, fraction, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, int8, data, fraction, device |
| DEEPX | deepx | yolo26n_deepx_model/ | ✅ | imgsz, int8, data, optimize, device |
| Qualcomm QNN | qnn | yolo26n_qnn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
Consulta los detalles completos de export en la página Export.
Link to this sectionFAQ#
Link to this section¿Cómo evalúo el rendimiento de mi modelo YOLO26 usando Ultralytics?#
Ultralytics YOLO26 ofrece un modo de Benchmark para evaluar el rendimiento de tu modelo en diferentes formatos de exportación. Este modo proporciona información sobre métricas clave como la precisión media promedio (mAP50-95), la precisión y el tiempo de inferencia en milisegundos. Para ejecutar benchmarks, puedes usar comandos de Python o de la CLI. Por ejemplo, para realizar un benchmark en una GPU:
from ultralytics.utils.benchmarks import benchmark
# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)Para más detalles sobre los argumentos del benchmark, visita la sección Arguments.
Link to this section¿Cuáles son las ventajas de exportar modelos YOLO26 a diferentes formatos?#
Exportar modelos YOLO26 a diferentes formatos como ONNX, TensorRT y OpenVINO te permite optimizar el rendimiento según tu entorno de despliegue. Por ejemplo:
- ONNX: Proporciona una aceleración de CPU de hasta 3x.
- TensorRT: Ofrece una aceleración de GPU de hasta 5x.
- OpenVINO: Optimizado específicamente para hardware Intel.
Estos formatos mejoran tanto la velocidad como la precisión de tus modelos, haciéndolos más eficientes para diversas aplicaciones del mundo real. Visita la página Export para obtener detalles completos.
Link to this section¿Por qué es crucial el benchmarking al evaluar modelos YOLO26?#
Realizar benchmarks de tus modelos YOLO26 es esencial por varias razones:
- Decisiones informadas: Entiende las compensaciones entre velocidad y precisión.
- Asignación de recursos: Mide el rendimiento en diferentes opciones de hardware.
- Optimización: Determina qué formato de exportación ofrece el mejor rendimiento para casos de uso específicos.
- Eficiencia de costes: Optimiza el uso del hardware basándote en los resultados del benchmark.
Métricas clave como mAP50-95, precisión Top-1 y tiempo de inferencia ayudan a realizar estas evaluaciones. Consulta la sección Key Metrics para obtener más información.
Link to this section¿Qué formatos de exportación son compatibles con YOLO26 y cuáles son sus ventajas?#
YOLO26 admite una variedad de formatos de exportación, cada uno adaptado para hardware y casos de uso específicos:
- ONNX: El mejor para el rendimiento de CPU.
- TensorRT: Ideal para la eficiencia de GPU.
- OpenVINO: Optimizado para hardware Intel.
- CoreML y TensorFlow: Útiles para iOS y aplicaciones generales de ML.
Para obtener una lista completa de los formatos admitidos y sus respectivas ventajas, consulta la sección Supported Export Formats.
Link to this section¿Qué argumentos puedo usar para ajustar mis benchmarks de YOLO26?#
Al ejecutar benchmarks, se pueden personalizar varios argumentos para adaptarlos a necesidades específicas:
- model: Ruta al archivo del modelo (por ejemplo, "yolo26n.pt").
- data: Ruta a un archivo YAML que define el conjunto de datos (por ejemplo, "coco8.yaml").
- imgsz: El tamaño de la imagen de entrada, ya sea como un entero único o una tupla.
- half: Habilita la inferencia FP16 para un mejor rendimiento.
- int8: Activa la cuantización INT8 para dispositivos de borde (edge devices).
- device: Especifica el dispositivo de computación (por ejemplo, "cpu", "cuda:0").
- verbose: Controla el nivel de detalle del registro.
Para obtener una lista completa de argumentos, consulta la sección Arguments.