YOLO-NAS
Wichtiges Update
Bitte beachten Sie, dass Deci, die ursprünglichen Entwickler von YOLO-NAS, von NVIDIA übernommen wurde. Infolgedessen werden diese Modelle nicht mehr aktiv von Deci gepflegt. Ultralytics unterstützt weiterhin die Verwendung dieser Modelle, es sind jedoch keine weiteren Updates vom ursprünglichen Team zu erwarten.
Überblick
YOLO-NAS, entwickelt von Deci AI, ist ein bahnbrechendes Basemodell für die Objekterkennung. Es ist das Ergebnis fortschrittlicher Neural Architecture Search-Technologie und wurde sorgfältig entwickelt, um die Einschränkungen früherer YOLO-Modelle zu beheben. Mit deutlichen Verbesserungen in der Quantisierungsunterstützung und den Genauigkeits-Latenz-Kompromissen stellt YOLO-NAS einen großen Fortschritt in der Objekterkennung dar.
Überblick über YOLO-NAS. YOLO-NAS verwendet quantisierungsbewusste Blöcke und selektive Quantisierung für eine optimale Leistung. Das Modell erfährt, wenn es in seine INT8-quantisierte Version konvertiert wird, einen minimalen Präzisionsverlust, eine deutliche Verbesserung gegenüber anderen Modellen. Diese Fortschritte gipfeln in einer überlegenen Architektur mit beispiellosen Objekterkennungsfähigkeiten und herausragender Leistung.
Hauptmerkmale
- Quantisierungsfreundlicher Basisblock: YOLO-NAS führt einen neuen Basisblock ein, der für die Quantisierung geeignet ist und eine der wesentlichen Einschränkungen früherer YOLO-Modelle behebt.
- Ausgeklügeltes Training und Quantisierung: YOLO-NAS nutzt fortschrittliche Trainingsschemata und Post-Training-Quantisierung, um die Leistung zu verbessern.
- AutoNAC-Optimierung und Pre-Training: YOLO-NAS nutzt die AutoNAC-Optimierung und ist auf prominenten Datensätzen wie COCO, Objects365 und Roboflow 100 vortrainiert. Dieses Pre-Training macht es äußerst geeignet für nachgelagerte Objekterkennungsaufgaben in Produktionsumgebungen.
Vorab trainierte Modelle
Erleben Sie die Leistungsfähigkeit der Objekterkennung der nächsten Generation mit den vortrainierten YOLO-NAS-Modellen von Ultralytics. Diese Modelle sind darauf ausgelegt, erstklassige Leistung in Bezug auf Geschwindigkeit und Genauigkeit zu liefern. Wählen Sie aus einer Vielzahl von Optionen, die auf Ihre spezifischen Bedürfnisse zugeschnitten sind:
Performance
Modell | mAP | Latenz (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 |
Jede Modellvariante ist so konzipiert, dass sie ein Gleichgewicht zwischen Mean Average Precision (mAP) und Latenz bietet, um Ihnen zu helfen, Ihre Objekterkennungsaufgaben sowohl auf Leistung als auch auf Geschwindigkeit zu optimieren.
Anwendungsbeispiele
Ultralytics hat die Integration von YOLO-NAS-Modellen in Ihre Python-Anwendungen über unsere ultralytics
Python-Pakets aufgenommen. Das Paket bietet eine benutzerfreundliche Python-API zur Rationalisierung des Prozesses.
Die folgenden Beispiele zeigen, wie YOLO-NAS-Modelle mit dem verwendet werden ultralytics
Paket für Inferenz und Validierung:
Beispiele für Inferenz und Validierung
In diesem Beispiel validieren wir YOLO-NAS-s auf dem COCO8-Datensatz.
Beispiel
Dieses Beispiel bietet einfachen Inferenz- und Validierungscode für YOLO-NAS. Informationen zur Behandlung von Inferenz-Ergebnissen finden Sie unter Vorhersagen Modus. Informationen zur Verwendung von YOLO-NAS mit zusätzlichen Modi finden Sie unter Validieren und Export. YOLO-NAS auf der ultralytics
Paket unterstützt kein Training.
PyTorch vorab trainierte *.pt
Modelldateien können an das NAS()
Klasse übergeben werden, 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")
Es stehen CLI-Befehle zur Verfügung, um die Modelle direkt auszuführen:
# Load a COCO-pretrained YOLO-NAS-s model and validate it's performance on the COCO8 example dataset
yolo val model=yolo_nas_s.pt data=coco8.yaml
# Load a COCO-pretrained YOLO-NAS-s model and run inference on the 'bus.jpg' image
yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg
Unterstützte Aufgaben und Modi
Wir bieten drei Varianten der YOLO-NAS-Modelle an: Small (s), Medium (m) und Large (l). Jede Variante ist auf unterschiedliche Rechen- und Leistungsanforderungen zugeschnitten:
- YOLO-NAS-s: Optimiert für Umgebungen, in denen die Rechenressourcen begrenzt sind, Effizienz aber entscheidend ist.
- YOLO-NAS-m: Bietet einen ausgewogenen Ansatz, der für die allgemeine Objekterkennung mit höherer Genauigkeit geeignet ist.
- YOLO-NAS-l: Zugeschnitten auf Szenarien, die höchste Genauigkeit erfordern, bei denen Rechenressourcen eine geringere Einschränkung darstellen.
Nachfolgend finden Sie eine detaillierte Übersicht über jedes Modell, einschließlich Links zu den vortrainierten Gewichten, den unterstützten Aufgaben und der Kompatibilität mit verschiedenen Betriebsmodi.
Modelltyp | Vortrainierte Gewichte | Unterstützte Aufgaben | Inferenz | Validierung | Training | Export |
---|---|---|---|---|---|---|
YOLO-NAS-s | yolo_nas_s.pt | Objekterkennung | ✅ | ✅ | ❌ | ✅ |
YOLO-NAS-m | yolo_nas_m.pt | Objekterkennung | ✅ | ✅ | ❌ | ✅ |
YOLO-NAS-l | yolo_nas_l.pt | Objekterkennung | ✅ | ✅ | ❌ | ✅ |
Zitate und Danksagungen
Wenn du YOLO-NAS in deiner Forschungs- oder Entwicklungsarbeit einsetzt, zitiere bitte SuperGradients:
@misc{supergradients,
doi = {10.5281/ZENODO.7789328},
url = {https://zenodo.org/records/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},
}
Wir bedanken uns bei Deci AIs SuperGradients-Team für seine Bemühungen bei der Erstellung und Pflege dieser wertvollen Ressource für die Computer-Vision-Community. Wir glauben, dass YOLO-NAS mit seiner innovativen Architektur und seinen überlegenen Objekterkennungsfunktionen zu einem wichtigen Werkzeug für Entwickler und Forscher werden wird.
FAQ
Was ist YOLO-NAS und wie verbessert es sich gegenüber früheren YOLO-Modellen?
YOLO-NAS, entwickelt von Deci AI, ist ein hochmodernes Objekterkennungsmodell, das fortschrittliche Neural Architecture Search (NAS)-Technologie nutzt. Es behebt die Einschränkungen früherer YOLO-Modelle durch die Einführung von Funktionen wie quantisierungsfreundlichen Basisblöcken und ausgeklügelten Trainingsschemata. Dies führt zu deutlichen Leistungsverbesserungen, insbesondere in Umgebungen mit begrenzten Rechenressourcen. YOLO-NAS unterstützt auch die Quantisierung und behält eine hohe Genauigkeit bei, selbst wenn es in seine INT8-Version konvertiert wird, was seine Eignung für Produktionsumgebungen verbessert. Weitere Informationen finden Sie im Abschnitt Überblick.
Wie kann ich YOLO-NAS-Modelle in meine Python-Anwendung integrieren?
Sie können YOLO-NAS-Modelle einfach mit dem ultralytics
Paket. Hier ist ein einfaches Beispiel, wie Sie ein vortrainiertes YOLO-NAS-Modell laden und eine Inferenz durchführen können:
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 finden Sie unter Inferenz- und Validierungsbeispiele.
Was sind die Hauptmerkmale von YOLO-NAS und warum sollte ich in Erwägung ziehen, es zu verwenden?
YOLO-NAS führt mehrere Schlüsselfunktionen ein, die es zu einer überlegenen Wahl für Objekterkennungsaufgaben machen:
- Quantisierungsfreundlicher Basisblock: Verbesserte Architektur, die die Modellleistung mit minimalem Präzisionsverlust nach der Quantisierung verbessert.
- Ausgeklügeltes Training und Quantisierung: Verwendet fortschrittliche Trainingsschemata und Post-Training-Quantisierungstechniken.
- AutoNAC-Optimierung und Pre-Training: Nutzt die AutoNAC-Optimierung und ist auf prominenten Datensätzen wie COCO, Objects365 und Roboflow 100 vortrainiert.
Diese Funktionen tragen zu seiner hohen Genauigkeit, effizienten Leistung und Eignung für den Einsatz in Produktionsumgebungen bei. Erfahren Sie mehr im Abschnitt Hauptmerkmale.
Welche Aufgaben und Modi werden von YOLO-NAS-Modellen unterstützt?
YOLO-NAS-Modelle unterstützen verschiedene Objekterkennungsaufgaben und -Modi 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 Rechenkapazitäten und Leistungsanforderungen zugeschnitten sind. Einen detaillierten Überblick finden Sie im Abschnitt Unterstützte Aufgaben und Modi.
Gibt es vortrainierte YOLO-NAS-Modelle und wie kann ich auf sie zugreifen?
Ja, Ultralytics bietet vortrainierte YOLO-NAS-Modelle an, auf die Sie direkt zugreifen können. Diese Modelle sind auf Datensätzen wie COCO vortrainiert, was eine hohe Leistung in Bezug auf Geschwindigkeit und Genauigkeit gewährleistet. Sie können diese Modelle über die Links im Abschnitt Vorgefertigte Modelle herunterladen. Hier sind einige Beispiele: