Ir al contenido

Evaluación comparativa de modelos con Ultralytics YOLO

Ecosistema e integraciones de Ultralytics YOLO

Visualización de Benchmark

Actualizar el navegador

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

Introducción

Una vez que su modelo está entrenado y validado, el siguiente paso lógico es evaluar su rendimiento en varios escenarios del mundo real. El modo de evaluación comparativa en Ultralytics YOLO11 cumple este propósito al proporcionar un marco de trabajo robusto para evaluar la velocidad y la precisión de su modelo en una variedad de formatos de exportación.



Ver: Comparativa de los modelos Ultralytics YOLO11 | ¿Cómo comparar el rendimiento del modelo en diferentes hardware?

¿Por qué es crucial la evaluación comparativa?

  • Decisiones informadas: Obtenga información sobre las ventajas y desventajas entre velocidad y precisión.
  • Asignación de recursos: Comprenda cómo se desempeñan los diferentes formatos de exportación en diferentes hardware.
  • Optimización: Descubra qué formato de exportación ofrece el mejor rendimiento para su caso de uso específico.
  • Rentabilidad: Haga un uso más eficiente de los recursos de hardware según los resultados de la evaluación comparativa.

Métricas clave en el modo de evaluación comparativa

Formatos de exportación admitidos

  • ONNX: Para un rendimiento óptimo de la CPU
  • TensorRT: Para una eficiencia máxima de la GPU
  • OpenVINO: Para la optimización del hardware de Intel
  • CoreML, TensorFlow SavedModel y más: Para diversas necesidades de implementación.

Consejo

  • Exporta a ONNX u OpenVINO para una aceleración de la CPU de hasta 3 veces.
  • Exporta a TensorRT para una aceleración de la GPU de hasta 5 veces.

Ejemplos de uso

Ejecuta pruebas de rendimiento de YOLO11n en todos los formatos de exportación compatibles, incluidos ONNX, TensorRT, etc. Consulta la sección de Argumentos a continuación para obtener una lista completa de los argumentos de exportación.

Ejemplo

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

# Benchmark specific export format
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, format="onnx")
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 half=False device=0

# Benchmark specific export format
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 format=onnx

Argumentos

Argumentos como model, data, imgsz, half, device, verbose y format proporcionan a los usuarios la flexibilidad de ajustar las pruebas de rendimiento 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 ambos formatos .pt y .yaml , por ejemplo, "yolo11n.pt" para modelos pre-entrenados 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 datos de validación. Ejemplo: "coco8.yaml".
imgsz 640 El tamaño de la imagen de entrada para el modelo. Puede ser un entero único para imágenes cuadradas o una tupla (width, height) para no cuadradas, por ejemplo, (640, 480).
half False Habilita la inferencia FP16 (media precisión), reduciendo el uso de memoria y posiblemente aumentando la velocidad en hardware compatible. Utiliza half=True para habilitar.
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 usar.
device None Define los 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 los registros. Establecer verbose=True para registros detallados.
format '' Evalúe el modelo en un solo formato de exportación. es decir, format=onnx

Formatos de exportación

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

Formato format Argumento Modelo Metadatos Argumentos
PyTorch - yolo11n.pt -
TorchScript torchscript yolo11n.torchscript imgsz, half, dynamic, optimize, nms, batch, device
ONNX onnx yolo11n.onnx imgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINO openvino yolo11n_openvino_model/ imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRT engine yolo11n.engine imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreML coreml yolo11n.mlpackage imgsz, half, int8, nms, batch, device
TF SavedModel saved_model yolo11n_saved_model/ imgsz, keras, int8, nms, batch, device
TF GraphDef pb yolo11n.pb imgsz, batch, device
TF Lite tflite yolo11n.tflite imgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPU edgetpu yolo11n_edgetpu.tflite imgsz, device
TF.js tfjs yolo11n_web_model/ imgsz, half, int8, nms, batch, device
PaddlePaddle paddle yolo11n_paddle_model/ imgsz, batch, device
MNN mnn yolo11n.mnn imgsz, batch, int8, half, device
NCNN ncnn yolo11n_ncnn_model/ imgsz, half, batch, device
IMX500 imx yolo11n_imx_model/ imgsz, int8, data, fraction, device
RKNN rknn yolo11n_rknn_model/ imgsz, batch, name, device

Ver detalles completos del export detalles en la Exportar página.

Preguntas frecuentes

¿Cómo puedo evaluar el rendimiento de mi modelo YOLO11 utilizando Ultralytics?

Ultralytics YOLO11 ofrece un modo de evaluación comparativa 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 pruebas de rendimiento, puedes utilizar comandos de python o de la CLI. Por ejemplo, para realizar pruebas de rendimiento en una GPU:

Ejemplo

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 half=False device=0

Para obtener más detalles sobre los argumentos de evaluación comparativa, visita la sección de Argumentos.

¿Cuáles son los beneficios de exportar modelos YOLO11 a diferentes formatos?

Exportar modelos YOLO11 a diferentes formatos como ONNX, TensorRT y OpenVINO le permite optimizar el rendimiento según su entorno de implementación. Por ejemplo:

  • ONNX: Proporciona una aceleración de la CPU de hasta 3 veces.
  • TensorRT: Ofrece una aceleración de la GPU de hasta 5 veces.
  • OpenVINO: Específicamente optimizado para hardware Intel.

Estos formatos mejoran tanto la velocidad como la precisión de sus modelos, haciéndolos más eficientes para diversas aplicaciones del mundo real. Visite la página de Exportación para obtener detalles completos.

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

Realizar benchmarks de tus modelos YOLO11 es esencial por varias razones:

  • Decisiones informadas: Comprenda las ventajas y desventajas entre velocidad y precisión.
  • Asignación de recursos: Evalúe el rendimiento en diferentes opciones de hardware.
  • Optimización: Determine qué formato de exportación ofrece el mejor rendimiento para casos de uso específicos.
  • Eficiencia de costes: Optimice el uso del hardware en función de los resultados de las pruebas comparativas.

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

¿Qué formatos de exportación son compatibles con YOLO11 y cuáles son sus ventajas?

YOLO11 soporta una variedad de formatos de exportación, cada uno adaptado para hardware y casos de uso específicos:

  • ONNX: Lo mejor para el rendimiento de la CPU.
  • TensorRT: Ideal para la eficiencia de la GPU.
  • OpenVINO: Optimizado para hardware Intel.
  • CoreML y TensorFlow: Útil para aplicaciones de iOS y de ML en general.

Para obtener una lista completa de los formatos compatibles y sus respectivas ventajas, consulta la sección Formatos de exportación compatibles.

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

Al ejecutar benchmarks, varios argumentos pueden ser personalizados para adaptarse a necesidades específicas:

  • model: Ruta al archivo del modelo (p. ej., "yolo11n.pt").
  • data: Ruta a un archivo YAML que define el conjunto de datos (p. ej., "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 cuantificación INT8 para dispositivos periféricos.
  • device: Especifique el dispositivo de cálculo (p. ej., "cpu", "cuda:0").
  • verbose: Controla el nivel de detalle del registro.

Para obtener una lista completa de los argumentos, consulte la sección Argumentos.



📅 Creado hace 1 año ✏️ Actualizado hace 3 meses

Comentarios