Evaluación comparativa de modelos con Ultralytics YOLO

Ultralytics YOLO ecosystem and integrations

Visualización de evaluaciones comparativas

Actualizar navegador

Es posible que necesites actualizar la página para ver los gráficos correctamente debido a posibles problemas con las cookies.

Introducció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 cumple este propósito proporcionando 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?

¿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.

Métricas clave en el modo Benchmark

Formatos de exportación compatibles

  • ONNX: Para un rendimiento óptimo en CPU
  • TensorRT: Para una eficiencia máxima en GPU
  • OpenVINO: Para la optimización de hardware Intel
  • CoreML, TensorFlow SavedModel y más: Para diversas necesidades de despliegue.
Consejo
  • 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.

Ejemplos de uso

Instalación recomendada

Instala Ultralytics con las dependencias de exportación antes de realizar la evaluación comparativa para evitar la falta de paquetes.

pip install ultralytics[export]

Ejecuta 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 opciones de exportación.

Ejemplo
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")

Argumentos

Argumentos como model, data, imgsz, half, device, verbose y format ofrecen 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.

ClaveValor predeterminadoDescripción
modelNoneEspecifica la ruta al archivo del modelo. Acepta formatos .pt y .yaml, por ejemplo, "yolo26n.pt" para modelos preentrenados o archivos de configuración.
dataNoneRuta a un archivo YAML que define el conjunto de datos para la evaluación comparativa, incluyendo generalmente rutas y configuraciones para los datos de validación. Ejemplo: "coco8.yaml".
imgsz640The 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).
halfFalseHabilita 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.
int8FalseActiva la cuantización INT8 para un rendimiento aún más optimizado en dispositivos compatibles, especialmente útil para dispositivos de borde (edge devices). Establece int8=True para usarlo.
deviceNoneDefine el dispositivo o dispositivos de computación para la evaluación comparativa, como "cpu" o "cuda:0".
verboseFalseControla el nivel de detalle en la salida del registro. Establece verbose=True para obtener registros detallados.
format''Evalúa solo el formato de exportación especificado (por ejemplo, format=onnx). Déjalo en blanco para probar todos los formatos compatibles automáticamente.

Formatos de exportación

Las evaluaciones comparativas intentarán ejecutarse automáticamente en todos los posibles formatos de exportación enumerados a continuación. Alternativamente, puedes ejecutar evaluaciones para un formato específico usando el argumento format, que acepta cualquiera de los formatos mencionados abajo.

FormatoArgumento formatModeloMetadatosArgumentos
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, int8, nms, batch, data, fraction, device
TF GraphDefpbyolo26n.pbimgsz, batch, device
TF Litetfliteyolo26n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, int8, data, fraction, device
TF.jstfjsyolo26n_web_model/imgsz, half, int8, nms, batch, data, fraction, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n_imx_model/imgsz, int8, data, fraction, nms, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n_axelera_model/imgsz, batch, int8, data, fraction, device
DeepXdeepxyolo26n_deepx_model/imgsz, int8, data, optimize, device

Consulta todos los detalles de export en la página Export.

Preguntas frecuentes

¿Cómo evalúo el rendimiento de mi modelo YOLO26 usando Ultralytics?

Ultralytics YOLO26 ofrece un modo 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 las evaluaciones comparativas, puedes usar comandos de Python o de la CLI. Por ejemplo, para evaluar en una GPU:

Ejemplo
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 de la evaluación comparativa, visita la sección Argumentos.

¿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 hasta 3 veces más velocidad en CPU.
  • TensorRT: Ofrece hasta 5 veces más velocidad en GPU.
  • 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 todos los detalles.

¿Por qué es crucial la evaluación comparativa al evaluar modelos YOLO26?

Evaluar tus modelos YOLO26 es esencial por varias razones:

  • Decisiones informadas: Comprende las compensaciones entre velocidad y precisión.
  • Asignación de recursos: Evalúa 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 según los resultados de la evaluación.

Métricas clave como mAP50-95, precisión Top-5 y tiempo de inferencia ayudan a realizar estas evaluaciones. Consulta la sección Métricas clave para más información.

¿Qué formatos de exportación admite YOLO26 y cuáles son sus ventajas?

YOLO26 admite una variedad de formatos de exportación, cada uno diseñado para hardware y casos de uso específicos:

  • ONNX: 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 Formatos de exportación compatibles.

¿Qué argumentos puedo usar para ajustar mis evaluaciones comparativas de YOLO26?

Al ejecutar evaluaciones comparativas, se pueden personalizar varios argumentos para adaptarse 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 solo número entero o una tupla.
  • half: Habilita la inferencia FP16 para un mejor rendimiento.
  • int8: Activa la cuantización INT8 para dispositivos de borde.
  • device: Especifica el dispositivo de computación (por ejemplo, "cpu", "cuda:0").
  • verbose: Controla el nivel de detalle del registro.

Para ver una lista completa de argumentos, consulta la sección Argumentos.

Comentarios