YOLO-NAS
Genel Bakış
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.
YOLO-NAS'a genel bakış. YOLO-NAS, optimum performans için kuantizasyona duyarlı bloklar ve seçici kuantizasyon kullanır. Model, INT8 kuantize versiyonuna dönüştürüldüğünde, diğer modellere göre önemli bir gelişme olan minimum hassasiyet düşüşü yaşar. Bu gelişmeler, benzeri görülmemiş nesne algılama yeteneklerine ve olağanüstü performansa sahip üstün bir mimari ile sonuçlanmaktadır.
Temel Özellikler
- Niceleme Dostu Temel Blok: YOLO-NAS, niceleme dostu yeni bir temel blok sunarak önceki YOLO modellerinin önemli sınırlamalarından birini ele alıyor.
- Sofistike Eğitim ve Niceleme: YOLO-NAS, performansı artırmak için gelişmiş eğitim şemalarından ve eğitim sonrası nicelemeden yararlanır.
- AutoNAC Optimizasyonu ve Ön Eğitim: YOLO-NAS, AutoNAC optimizasyonunu kullanır ve COCO, Objects365 ve Roboflow 100 gibi önde gelen veri kümeleri üzerinde önceden eğitilmiştir. Bu ön eğitim, onu üretim ortamlarındaki aşağı akış nesne algılama görevleri için son derece uygun hale getirir.
Önceden Eğitilmiş Modeller
Ultralytics tarafından sağlanan önceden eğitilmiş YOLO-NAS modelleri ile yeni nesil nesne tespitinin gücünü deneyimleyin. Bu modeller hem hız hem de doğruluk açısından birinci sınıf performans sunmak üzere tasarlanmıştır. Özel ihtiyaçlarınıza göre uyarlanmış çeşitli seçenekler arasından seçim yapın:
Model | mAP | Gecikme Süresi (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.
Kullanım Örnekleri
Ultralytics YOLO-NAS modellerini uygulamalarınıza entegre etmeyi kolaylaştırdı. Python ultralytics
python paketi. Paket, süreci kolaylaştırmak için kullanıcı dostu bir Python API sağlar.
Aşağıdaki örnekler YOLO-NAS modellerinin aşağıdakilerle birlikte nasıl kullanılacağını göstermektedir ultralytics
çıkarım ve doğrulama için paket:
Çıkarım ve Doğrulama Örnekleri
Bu örnekte YOLO-NAS-s adresini COCO8 veri kümesi üzerinde doğruluyoruz.
Örnek
Bu örnek, YOLO-NAS için basit çıkarım ve doğrulama kodu sağlar. Çıkarım sonuçlarını işlemek için bkz. Tahmin Et modu. YOLO -NAS'ı ek modlarla kullanmak için bkz. Val ve İhracat. YOLO-NAS üzerinde ultralytics
paketi eğitimi desteklememektedir.
PyTorch pretrained *.pt
model dosyaları şu dosyalara aktarılabilir NAS()
sınıfında bir model örneği oluşturmak için 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 komutları modelleri doğrudan çalıştırmak için kullanılabilir:
Desteklenen Görevler ve Modlar
YOLO-NAS modellerinin üç çeşidini sunuyoruz: Küçük (s), Orta (m) ve Büyük (l). Her bir varyant farklı hesaplama ve performans ihtiyaçlarını karşılamak üzere tasarlanmıştır:
- YOLO-NAS-s: Hesaplama kaynaklarının sınırlı olduğu ancak verimliliğin önemli olduğu ortamlar için optimize edilmiştir.
- YOLO-NAS-m: Offers a balanced approach, suitable for general-purpose object detection with higher accuracy.
- YOLO-NAS-l: Hesaplama kaynaklarının daha az kısıtlayıcı olduğu, en yüksek doğruluk gerektiren senaryolar için uyarlanmıştır.
Aşağıda, önceden eğitilmiş ağırlıklarına bağlantılar, destekledikleri görevler ve farklı çalışma modlarıyla uyumlulukları da dahil olmak üzere her modele ayrıntılı bir genel bakış yer almaktadır.
Model Tipi | Önceden Eğitilmiş Ağırlıklar | Desteklenen Görevler | Çıkarım | Doğrulama | Eğitim | İhracat |
---|---|---|---|---|---|---|
YOLO-NAS-s | yolo_nas_s.pt | Nesne Algılama | ✅ | ✅ | ❌ | ✅ |
YOLO-NAS-m | yolo_nas_m.pt | Nesne Algılama | ✅ | ✅ | ❌ | ✅ |
YOLO-NAS-l | yolo_nas_l.pt | Nesne Algılama | ✅ | ✅ | ❌ | ✅ |
Atıflar ve Teşekkür
Araştırma veya geliştirme çalışmalarınızda YOLO-NAS kullanıyorsanız, lütfen SuperGradients'e atıfta bulunun:
@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.
SSS
YOLO-NAS nedir ve önceki YOLO modellerine göre nasıl geliştirilmiştir?
YOLO- Deci AI tarafından geliştirilen -NAS, gelişmiş Sinirsel Mimari Arama (NAS) teknolojisinden yararlanan son teknoloji ürünü bir nesne algılama modelidir. Niceleme dostu temel bloklar ve sofistike eğitim şemaları gibi özellikler sunarak önceki YOLO modellerinin sınırlamalarını ele alır. Bu, özellikle sınırlı hesaplama kaynaklarına sahip ortamlarda performansta önemli gelişmeler sağlar. YOLO-NAS ayrıca nicemlemeyi destekleyerek INT8 sürümüne dönüştürüldüğünde bile yüksek doğruluğu korur ve üretim ortamları için uygunluğunu artırır. Daha fazla ayrıntı için Genel Bakış bölümüne bakın.
YOLO-NAS modellerini Python uygulamama nasıl entegre edebilirim?
YOLO-NAS modellerini Python uygulamanıza kolayca entegre edebilirsiniz. ultralytics
paketini kullanabilirsiniz. Önceden eğitilmiş bir YOLO-NAS modelinin nasıl yükleneceğine ve çıkarım yapılacağına dair basit bir örnek aşağıda verilmiştir:
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")
Daha fazla bilgi için Çıkarım ve Doğrulama Örnekleri bölümüne bakın.
YOLO-NAS'ın temel özellikleri nelerdir ve neden kullanmayı düşünmeliyim?
YOLO-NAS, nesne algılama görevleri için üstün bir seçim olmasını sağlayan birkaç temel özellik sunar:
- Quantization-Friendly Basic Block: Enhanced architecture that improves model performance with minimal precision drop post quantization.
- Sofistike Eğitim ve Niceleme: Gelişmiş eğitim şemaları ve eğitim sonrası niceleme teknikleri kullanır.
- AutoNAC Optimizasyonu ve Ön Eğitim: AutoNAC optimizasyonunu kullanır ve COCO, Objects365 ve Roboflow 100 gibi önde gelen veri kümeleri üzerinde önceden eğitilmiştir. Bu özellikler, yüksek doğruluğuna, verimli performansına ve üretim ortamlarında dağıtım için uygunluğuna katkıda bulunur. Temel Özellikler bölümünden daha fazla bilgi edinin.
YOLO-NAS modelleri tarafından hangi görevler ve modlar desteklenir?
YOLO-NAS modelleri çıkarım, doğrulama ve dışa aktarma gibi çeşitli nesne algılama görevlerini ve modlarını destekler. Eğitimi desteklemezler. Desteklenen modeller, her biri farklı hesaplama kapasiteleri ve performans ihtiyaçlarına göre uyarlanmış YOLO-NAS-s, YOLO-NAS-m ve YOLO-NAS-l'yi içerir. Ayrıntılı bir genel bakış için Desteklenen Görevler ve Modlar bölümüne bakın.
Önceden eğitilmiş YOLO-NAS modelleri mevcut mu ve bunlara nasıl erişebilirim?
Evet, Ultralytics doğrudan erişebileceğiniz önceden eğitilmiş YOLO-NAS modelleri sağlar. Bu modeller COCO gibi veri kümeleri üzerinde önceden eğitilmiştir ve hem hız hem de doğruluk açısından yüksek performans sağlar. Bu modelleri Önceden Eğitilmiş Modeller bölümünde verilen bağlantıları kullanarak indirebilirsiniz. İşte bazı örnekler: