Ir al contenido

Modelo de evaluación comparativa con Ultralytics YOLO

Ultralytics YOLO ecosistema e integraciones

Visualización de puntos de referencia

Actualizar navegador

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











Introducción

Una vez entrenado y validado el modelo, el siguiente paso lógico es evaluar su rendimiento en distintos escenarios reales. El modo Benchmark de Ultralytics YOLO11 sirve a este propósito al proporcionar un marco sólido para evaluar la velocidad y precisión de su modelo en una serie de formatos de exportación.



Observa: Benchmark Ultralytics YOLO11 Modelos | ¿Cómo comparar el rendimiento de los modelos en hardware diferente?

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

  • Decisiones fundamentadas: Conozca las ventajas y desventajas de la velocidad y la precisión.
  • Asignación de recursos: Comprender el rendimiento de los distintos formatos de exportación en los diferentes equipos.
  • Optimización: Aprenda 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 basándose en los resultados de las pruebas comparativas.

Métricas clave en modo Benchmark

Formatos de exportación admitidos

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

Consejo

  • Exporte a ONNX o OpenVINO para acelerar hasta 3 veces CPU .
  • Exporte a TensorRT para acelerar hasta 5 veces GPU .

Ejemplos de uso

Ejecute las pruebas comparativas de YOLO11n en todos los formatos de exportación admitidos, incluidos ONNX, TensorRT , etc. Consulte la sección Argumentos 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)
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 half=False device=0

Argumentos

Argumentos como model, data, imgsz, half, devicey verbose proporcionan a los usuarios la flexibilidad necesaria para ajustar las pruebas comparativas a sus necesidades específicas y comparar el rendimiento de distintos formatos de exportación con facilidad.

Clave Valor por defecto Descripción
model None Especifica la ruta al archivo del modelo. Acepta tanto .pt y .yaml formatos, por ejemplo "yolo11n.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 datos de validación. Ejemplo: "coco8.yaml".
imgsz 640 El tamaño de la imagen de entrada para el modelo. Puede ser un único número entero para imágenes cuadradas o una tupla (width, height) para los no cuadrados, por ejemplo, (640, 480).
half False Permite la inferencia FP16 (media precisión), reduciendo el uso de memoria y posiblemente aumentando la velocidad en hardware compatible. Utilice half=True para activar.
int8 False Activa la cuantización INT8 para optimizar aún más el rendimiento en los dispositivos compatibles, especialmente útil para los dispositivos de borde. Establecer int8=True usar.
device None Define el dispositivo o dispositivos de cálculo para la evaluación comparativa, tales como "cpu" o "cuda:0".
verbose False Controla el nivel de detalle en la salida de registro. Un valor booleano; set verbose=True para registros detallados o un flotador para errores de umbral.

Formatos de exportación

Los Benchmarks intentarán ejecutarse automáticamente en todos los formatos de exportación posibles que se indican a continuación.

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

Ver todos export detalles en el Exportar página.

PREGUNTAS FRECUENTES

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

Ultralytics YOLO11 ofrece un modo Benchmark para evaluar el rendimiento de su modelo en diferentes formatos de exportación. Este modo proporciona información sobre parámetros clave como la precisión media (mAP50-95), la exactitud y el tiempo de inferencia en milisegundos. Para ejecutar pruebas comparativas, puede utilizar los comandos Python o CLI . Por ejemplo, para realizar una prueba comparativa en 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 más detalles sobre los argumentos de los índices de referencia, visite la sección Argumentos.

¿Qué ventajas tiene exportar modelos de YOLO11 a distintos formatos?

La exportación de modelos YOLO11 a diferentes formatos como ONNX, TensorRT, y OpenVINO le permite optimizar el rendimiento en función de su entorno de implantación. Por ejemplo:

  • ONNX: Aumenta hasta 3 veces la velocidad de CPU .
  • TensorRT: Ofrece hasta 5 veces más velocidad GPU .
  • OpenVINO: Específicamente optimizado para el hardware Intel .

Estos formatos mejoran tanto la velocidad como la precisión de sus modelos, haciéndolos más eficaces para diversas aplicaciones del mundo real. Visita la página Exportar para conocer todos los detalles.

¿Por qué es crucial la evaluación comparativa a la hora de evaluar los modelos de YOLO11 ?

La evaluación comparativa de sus modelos YOLO11 es esencial por varias razones:

  • Decisiones informadas: Comprender las compensaciones 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.
  • Rentabilidad: Optimice el uso del hardware basándose en los resultados de las pruebas comparativas.

Métricas clave como mAP50-95, precisión Top-5 y 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 admite YOLO11 y cuáles son sus ventajas?

YOLO11 admite diversos formatos de exportación, cada uno adaptado a un hardware y unos casos de uso específicos:

  • ONNX: Lo mejor para el rendimiento de CPU .
  • TensorRT: Ideal para GPU efficiency.
  • OpenVINO: Optimizado para el hardware Intel .
  • CoreML & TensorFlow: Útil para iOS y aplicaciones generales de ML.

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

¿Qué argumentos puedo utilizar para afinar mis puntos de referencia en YOLO11 ?

Al ejecutar pruebas comparativas, se pueden personalizar varios argumentos para adaptarlos a necesidades específicas:

  • modelo: Ruta al archivo del modelo (por ejemplo, "yolo11n.pt").
  • datos: 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 único número entero o como una tupla.
  • medio: Activa la inferencia FP16 para un mejor rendimiento.
  • int8: Activa la cuantización INT8 para dispositivos de borde.
  • dispositivo: Especifique el dispositivo de cómputo (por ejemplo, "cpu", "cuda:0").
  • verboso: Controla el nivel de detalle del registro.

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

Creado hace 1 año ✏️ Actualizado hace 13 días

Comentarios