YOLO-NAS
Visión general
Developed by Deci AI, YOLO-NAS is a groundbreaking object detection foundational model. It is the product of advanced Neural Architecture Search technology, meticulously designed to address the limitations of previous YOLO models. With significant improvements in quantization support and accuracy-latency trade-offs, YOLO-NAS represents a major leap in object detection.
Visión general de YOLO-NAS. YOLO-NAS emplea bloques conscientes de la cuantización y cuantización selectiva para un rendimiento óptimo. El modelo, cuando se convierte a su versión cuantificada INT8, experimenta una caída de precisión mínima, una mejora significativa respecto a otros modelos. Estos avances culminan en una arquitectura superior con una capacidad de detección de objetos sin precedentes y un rendimiento extraordinario.
Características principales
- Bloque básico amigable con la cuantización: YOLO-NAS introduce un nuevo bloque básico amigable con la cuantización, que aborda una de las limitaciones significativas de los modelos anteriores de YOLO .
- Entrenamiento y cuantificación sofisticados: YOLO-NAS aprovecha los esquemas de entrenamiento avanzados y la cuantificación post-entrenamiento para mejorar el rendimiento.
- Optimización AutoNAC y preentrenamiento: YOLO-NAS utiliza la optimización AutoNAC y está preentrenado en conjuntos de datos destacados como COCO, Objects365 y Roboflow 100. Este preentrenamiento lo hace muy adecuado para tareas posteriores de detección de objetos en entornos de producción.
Modelos preentrenados
Experimenta la potencia de la detección de objetos de nueva generación con los modelos YOLO-NAS preentrenados que proporciona Ultralytics. Estos modelos están diseñados para ofrecer un rendimiento de primera categoría, tanto en velocidad como en precisión. Elige entre una variedad de opciones adaptadas a tus necesidades específicas:
Modelo | mAP | Latencia (ms) |
---|---|---|
YOLO-NAS S | 47.5 | 3.21 |
YOLO-NAS M | 51.55 | 5.85 |
YOLO-NAS L | 52.22 | 7.87 |
YOLO-NAS S INT-8 | 47.03 | 2.36 |
YOLO-NAS M INT-8 | 51.0 | 3.78 |
YOLO-NAS L INT-8 | 52.1 | 4.78 |
Each model variant is designed to offer a balance between Mean Average Precision (mAP) and latency, helping you optimize your object detection tasks for both performance and speed.
Ejemplos de uso
Ultralytics ha hecho que los modelos YOLO-NAS sean fáciles de integrar en tus aplicaciones Python a través de nuestro ultralytics
python paquete. El paquete proporciona una API Python fácil de usar para agilizar el proceso.
Los siguientes ejemplos muestran cómo utilizar YOLO-NAS con los modelos ultralytics
para la inferencia y la validación:
Ejemplos de inferencia y validación
En este ejemplo validamos YOLO-NAS-s en el conjunto de datos COCO8.
Ejemplo
Este ejemplo proporciona un código sencillo de inferencia y validación para YOLO-NAS. Para manejar los resultados de la inferencia, consulta Predecir modo. Para utilizar YOLO-NAS con modos adicionales, consulta Val y Exportar. YOLO-NAS en el ultralytics
El paquete no admite formación.
PyTorch pretrained *.pt
Los archivos de los modelos pueden pasarse a NAS()
para crear una instancia del modelo en python:
from ultralytics import NAS
# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")
# Display model information (optional)
model.info()
# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")
# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
CLI para ejecutar directamente los modelos:
Tareas y modos admitidos
Ofrecemos tres variantes de los modelos YOLO-NAS: Pequeño (s), Mediano (m) y Grande (l). Cada variante está diseñada para satisfacer diferentes necesidades informáticas y de rendimiento:
- YOLO-NAS-s: Optimizado para entornos en los que los recursos informáticos son limitados pero la eficiencia es clave.
- YOLO-NAS-m: Offers a balanced approach, suitable for general-purpose object detection with higher accuracy.
- YOLO-NAS-l: Adaptado para escenarios que requieren la máxima precisión, en los que los recursos informáticos son menos limitantes.
A continuación encontrarás un resumen detallado de cada modelo, incluyendo enlaces a sus pesos preentrenados, las tareas que admiten y su compatibilidad con diferentes modos de funcionamiento.
Tipo de modelo | Pesos preentrenados | Tareas admitidas | Inferencia | Validación | Formación | Exportar |
---|---|---|---|---|---|---|
YOLO-NAS-s | yolo_nas_s.pt | Detección de objetos | ✅ | ✅ | ❌ | ✅ |
YOLO-NAS-m | yolo_nas_m.pt | Detección de objetos | ✅ | ✅ | ❌ | ✅ |
YOLO-NAS-l | yolo_nas_l.pt | Detección de objetos | ✅ | ✅ | ❌ | ✅ |
Citas y agradecimientos
Si empleas YOLO-NAS en tu trabajo de investigación o desarrollo, cita los SuperGradientes:
@misc{supergradients,
doi = {10.5281/ZENODO.7789328},
url = {https://zenodo.org/record/7789328},
author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}},
title = {Super-Gradients},
publisher = {GitHub},
journal = {GitHub repository},
year = {2021},
}
We express our gratitude to Deci AI's SuperGradients team for their efforts in creating and maintaining this valuable resource for the computer vision community. We believe YOLO-NAS, with its innovative architecture and superior object detection capabilities, will become a critical tool for developers and researchers alike.
PREGUNTAS FRECUENTES
¿Qué es YOLO-NAS y en qué mejora a los modelos anteriores YOLO ?
YOLO-NAS, desarrollado por Deci AI, es un modelo de detección de objetos de última generación que aprovecha la avanzada tecnología de Búsqueda de Arquitectura Neuronal (NAS). Aborda las limitaciones de los modelos anteriores de YOLO introduciendo características como bloques básicos fáciles de cuantificar y sofisticados esquemas de entrenamiento. Esto se traduce en mejoras significativas del rendimiento, sobre todo en entornos con recursos informáticos limitados. YOLO-NAS también admite la cuantización, manteniendo una gran precisión incluso cuando se convierte a su versión INT8, lo que mejora su idoneidad para entornos de producción. Para más detalles, consulta la sección Visión general.
¿Cómo puedo integrar los modelos YOLO-NAS en mi aplicación Python ?
Puedes integrar fácilmente los modelos YOLO-NAS en tu aplicación Python utilizando ultralytics
paquete. He aquí un ejemplo sencillo de cómo cargar un modelo YOLO-NAS preentrenado y realizar la inferencia:
from ultralytics import NAS
# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")
# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")
# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
Para más información, consulta los Ejemplos de inferencia y validación.
¿Cuáles son las principales características de YOLO-NAS y por qué debería considerar su uso?
YOLO-NAS introduce varias características clave que lo convierten en una opción superior para las tareas de detección de objetos:
- Quantization-Friendly Basic Block: Enhanced architecture that improves model performance with minimal precision drop post quantization.
- Entrenamiento y Cuantización Sofisticados: Emplea esquemas de entrenamiento avanzados y técnicas de cuantificación post-entrenamiento.
- AutoNAC Optimization and Pre-training: Utilizes AutoNAC optimization and is pre-trained on prominent datasets like COCO, Objects365, and Roboflow 100. These features contribute to its high accuracy, efficient performance, and suitability for deployment in production environments. Learn more in the Key Features section.
¿Qué tareas y modos admiten los modelos YOLO-NAS?
YOLO-Los modelos NAS admiten varias tareas y modos de detección de objetos, como la inferencia, la validación y la exportación. No admiten el entrenamiento. Los modelos admitidos incluyen YOLO-NAS-s, YOLO-NAS-m y YOLO-NAS-l, cada uno adaptado a diferentes capacidades de cálculo y necesidades de rendimiento. Para una visión general detallada, consulta la sección Tareas y modos admiti dos.
¿Existen modelos YOLO-NAS preentrenados y cómo puedo acceder a ellos?
Sí, Ultralytics proporciona modelos YOLO-NAS preentrenados a los que puedes acceder directamente. Estos modelos están preentrenados en conjuntos de datos como COCO, lo que garantiza un alto rendimiento tanto en velocidad como en precisión. Puedes descargar estos modelos utilizando los enlaces proporcionados en la sección Modelos pre entrenados. Aquí tienes algunos ejemplos: