YOLO-NAS
Übersicht
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.
Überblick über YOLO-NAS. YOLO-NAS verwendet quantisierungssensitive Blöcke und selektive Quantisierung für optimale Leistung. Die Umwandlung des Modells in die INT8-quantisierte Version führt zu einem minimalen Präzisionsabfall, was eine erhebliche Verbesserung gegenüber anderen Modellen darstellt. Diese Fortschritte führen zu einer überlegenen Architektur mit beispiellosen Objekterkennungsfähigkeiten und herausragender Leistung.
Hauptmerkmale
- Quantisierungsfreundlicher Basisblock: YOLO-NAS führt einen neuen quantisierungsfreundlichen Basisblock ein, der eine der wesentlichen Einschränkungen der bisherigen YOLO Modelle beseitigt.
- Anspruchsvolles Training und Quantisierung: YOLO-NAS nutzt fortschrittliche Trainingsverfahren und Quantisierung nach dem Training, um die Leistung zu verbessern.
- AutoNAC-Optimierung und Pre-Training: YOLO-NAS nutzt die AutoNAC-Optimierung und ist auf bekannten Datensätzen wie COCO, Objects365 und Roboflow 100 vortrainiert. Durch dieses Vortraining eignet es sich hervorragend für nachgelagerte Aufgaben der Objekterkennung in Produktionsumgebungen.
Vorgefertigte Modelle
Erlebe die Leistung der Objekterkennung der nächsten Generation mit den vortrainierten YOLO-NAS-Modellen von Ultralytics. Diese Modelle sind so konzipiert, dass sie sowohl in Bezug auf die Geschwindigkeit als auch auf die Genauigkeit eine erstklassige Leistung erbringen. Wähle aus einer Vielzahl von Optionen, die auf deine speziellen Bedürfnisse zugeschnitten sind:
Modell | mAP | Latenzzeit (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.
Verwendungsbeispiele
Ultralytics Die YOLO-NAS-Modelle lassen sich über unsere Python einfach in Ihre Anwendungen integrieren. ultralytics
python Paket. Das Paket bietet eine benutzerfreundliche Python API, um den Prozess zu vereinfachen.
Die folgenden Beispiele zeigen, wie man YOLO-NAS-Modelle mit dem ultralytics
Paket für Inferenz und Validierung:
Beispiele für Schlussfolgerungen und Validierung
In diesem Beispiel validieren wir YOLO-NAS-s mit dem COCO8-Datensatz.
Beispiel
Dieses Beispiel enthält einfachen Inferenz- und Validierungscode für YOLO-NAS. Für den Umgang mit Inferenzergebnissen siehe Vorhersage Modus. Für die Verwendung von YOLO-NAS mit zusätzlichen Modi siehe Val und exportieren. YOLO-NAS auf dem ultralytics
Paket unterstützt keine Ausbildung.
PyTorch pretrained *.pt
Modelldateien können an die NAS()
Klasse, um eine Modellinstanz in python zu erstellen:
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 Befehle sind verfügbar, um die Modelle direkt auszuführen:
Unterstützte Aufgaben und Modi
Wir bieten drei Varianten der YOLO-NAS-Modelle an: Small (s), Medium (m) und Large (l). Jede Variante ist für unterschiedliche Rechen- und Leistungsanforderungen ausgelegt:
- YOLO-NAS-s: Optimiert für Umgebungen, in denen die Rechenressourcen begrenzt sind, die Effizienz aber entscheidend ist.
- YOLO-NAS-m: Offers a balanced approach, suitable for general-purpose object detection with higher accuracy.
- YOLO-NAS-l: Maßgeschneidert für Szenarien, die höchste Genauigkeit erfordern und bei denen die Rechenressourcen weniger stark eingeschränkt sind.
Im Folgenden findest du einen detaillierten Überblick über jedes Modell, einschließlich Links zu den vortrainierten Gewichten, den Aufgaben, die sie unterstützen, und ihrer Kompatibilität mit verschiedenen Betriebsarten.
Modell Typ | Vortrainierte Gewichte | Unterstützte Aufgaben | Inferenz | Validierung | Ausbildung | exportieren |
---|---|---|---|---|---|---|
YOLO-NAS-s | yolo_nas_s.pt | Objekt-Erkennung | ✅ | ✅ | ❌ | ✅ |
YOLO-NAS-m | yolo_nas_m.pt | Objekt-Erkennung | ✅ | ✅ | ❌ | ✅ |
YOLO-NAS-l | yolo_nas_l.pt | Objekt-Erkennung | ✅ | ✅ | ❌ | ✅ |
Zitate und Danksagungen
Wenn du YOLO-NAS in deiner Forschungs- oder Entwicklungsarbeit verwendest, zitiere bitte SuperGradients:
@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.
FAQ
Was ist YOLO-NAS und wie verbessert es sich im Vergleich zu früheren YOLO Modellen?
YOLO-NAS, entwickelt von Deci AI, ist ein hochmodernes Modell zur Objekterkennung, das die fortschrittliche Neural Architecture Search (NAS) Technologie nutzt. Durch die Einführung von quantisierungsfreundlichen Basisblöcken und ausgefeilten Trainingsverfahren überwindet es die Einschränkungen früherer YOLO Modelle. Dies führt zu erheblichen Leistungssteigerungen, insbesondere in Umgebungen mit begrenzten Rechenressourcen. YOLO-NAS unterstützt auch die Quantisierung und behält seine hohe Genauigkeit bei, selbst wenn es in die INT8-Version umgewandelt wird, was seine Eignung für Produktionsumgebungen erhöht. Weitere Informationen findest du im Abschnitt Übersicht.
Wie kann ich YOLO-NAS-Modelle in meine Python Anwendung integrieren?
Du kannst YOLO-NAS-Modelle ganz einfach in deine Python Anwendung integrieren, indem du die ultralytics
Paket. Hier ist ein einfaches Beispiel, wie du ein vortrainiertes YOLO-NAS-Modell lädst und Inferenzen durchführst:
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")
Weitere Informationen findest du in den Beispielen für Schlussfolgerungen und Validierung.
Was sind die wichtigsten Funktionen von YOLO-NAS und warum sollte ich es nutzen?
YOLO-NAS führt mehrere wichtige Funktionen ein, die es zu einer überlegenen Wahl für Objekterkennungsaufgaben machen:
- Quantization-Friendly Basic Block: Enhanced architecture that improves model performance with minimal precision drop post quantization.
- Anspruchsvolles Training und Quantisierung: Verwendet fortschrittliche Trainingsverfahren und Quantisierungstechniken nach dem Training.
- AutoNAC-Optimierung und Pre-Training: Verwendet die AutoNAC-Optimierung und ist auf bekannten Datensätzen wie COCO, Objects365 und Roboflow 100 vortrainiert. Diese Merkmale tragen zu seiner hohen Genauigkeit, effizienten Leistung und Eignung für den Einsatz in Produktionsumgebungen bei. Weitere Informationen findest du im Abschnitt Hauptmerkmale.
Welche Aufgaben und Modi werden von den YOLO-NAS-Modellen unterstützt?
YOLO-NAS-Modelle unterstützen verschiedene Aufgaben und Modi der Objekterkennung wie Inferenz, Validierung und Export. Sie unterstützen kein Training. Zu den unterstützten Modellen gehören YOLO-NAS-s, YOLO-NAS-m und YOLO-NAS-l, die jeweils auf unterschiedliche Rechnerkapazitäten und Leistungsanforderungen zugeschnitten sind. Eine detaillierte Übersicht findest du im Abschnitt Unterstützte Aufgaben und Modi.
Gibt es bereits trainierte YOLO-NAS-Modelle und wie kann ich darauf zugreifen?
Ja, Ultralytics bietet bereits trainierte YOLO-NAS-Modelle, auf die du direkt zugreifen kannst. Diese Modelle wurden mit Datensätzen wie COCO trainiert, um eine hohe Leistung in Bezug auf Geschwindigkeit und Genauigkeit zu gewährleisten. Du kannst diese Modelle über die Links im Abschnitt Pre-trained Models herunterladen. Hier sind einige Beispiele: