YOLO-NAS
Önemli Güncelleme
Lütfen YOLO-NAS'ın orijinal yaratıcıları olan Deci'nin NVIDIA tarafından satın alındığını unutmayın. Sonuç olarak, bu modeller artık Deci tarafından aktif olarak desteklenmemektedir. Ultralytics, bu modellerin kullanımını desteklemeye devam ediyor, ancak orijinal ekipten başka bir güncelleme beklenmiyor.
Genel Bakış
Deci AI tarafından geliştirilen YOLO-NAS, çığır açan bir nesne algılama temel modelidir. Önceki YOLO modellerinin sınırlamalarını gidermek için titizlikle tasarlanmış gelişmiş Sinir Ağı Mimarisi Arama teknolojisinin ürünüdür. Kantalama desteği ve doğruluk-gecikme ödünleşimlerinde önemli gelişmelerle YOLO-NAS, nesne algılamada büyük bir atılımı temsil ediyor.
YOLO-NAS'a genel bakış. YOLO-NAS, optimum performans için nicemleme duyarlı bloklar ve seçici nicemleme kullanır. Model, INT8 nicemlenmiş sürümüne dönüştürüldüğünde, diğer modellere göre önemli bir iyileştirme olan minimum bir hassasiyet düşüşü yaşar. Bu gelişmeler, eşi görülmemiş nesne algılama yetenekleri ve olağanüstü performansla üstün bir mimaride sonuçlanır.
Temel Özellikler
- Kuantalama Dostu Temel Blok: YOLO-NAS, önceki YOLO modellerinin önemli sınırlamalarından birini ele alarak, kuantalamaya uygun yeni bir temel blok sunar.
- Gelişmiş Eğitim ve Kuantalama: YOLO-NAS, performansı artırmak için gelişmiş eğitim şemalarından ve eğitim sonrası kuantalamadan 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ğı yönlü 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 modelleriyle yeni nesil nesne algılamanın gücünü deneyimleyin. Bu modeller, hem hız hem de doğruluk açısından en üstün performansı sunmak için tasarlanmıştır. Özel ihtiyaçlarınıza göre uyarlanmış çeşitli seçenekler arasından seçim yapın:
Performans
| Model | mAP | Gecikme (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 |
Her model varyantı, Ortalama Ortalama Hassasiyet (mAP) ve gecikme süresi arasında bir denge sunmak üzere tasarlanmıştır ve nesne algılama görevlerinizi hem performans hem de hız için optimize etmenize yardımcı olur.
Kullanım Örnekleri
Ultralytics, YOLO-NAS modellerini Inference API'miz aracılığıyla Python uygulamalarınıza entegre etmeyi kolaylaştırdı. ultralytics python paketi. Paket, süreci kolaylaştırmak için kullanıcı dostu bir python API'si sağlar.
Aşağıdaki örnekler, YOLO-NAS modellerinin 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 modelini 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. Doğrula ve Dışa aktar. YOLO-NAS şurada: ultralytics paketi eğitimi desteklemiyor.
PyTorch önceden eğitilmiş *.pt modeller dosyaları şuraya aktarılabilir: NAS() python'da bir model örneği oluşturmak için sınıfa geçirilebilir:
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")
Modelleri doğrudan çalıştırmak için CLI komutları mevcuttur:
# 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
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: Daha yüksek doğrulukla genel amaçlı nesne algılama için uygun, dengeli bir yaklaşım sunar.
- YOLO-NAS-l: Hesaplama kaynaklarının daha az kısıtlayıcı olduğu, en yüksek doğruluğu gerektiren senaryolar için özel olarak tasarlanmış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ı dahil olmak üzere her modelin ayrıntılı bir genel görünümü bulunmaktadır.
| Model Türü | Önceden Eğitilmiş Ağırlıklar | Desteklenen Görevler | Çıkarım | Doğrulama | Eğitim | Dışa aktar |
|---|---|---|---|---|---|---|
| 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 | ✅ | ✅ | ❌ | ✅ |
Alıntılar ve Teşekkürler
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/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},
}
Bilgisayar görüşü topluluğu için bu değerli kaynağı oluşturma ve sürdürme çabalarından dolayı Deci AI'nın SuperGradients ekibine minnettarlığımızı sunuyoruz. Yenilikçi mimarisi ve üstün nesne tespiti yetenekleriyle YOLO-NAS'ın hem geliştiriciler hem de araştırmacılar için kritik bir araç haline geleceğine inanıyoruz.
SSS
YOLO-NAS nedir ve önceki YOLO modellerine göre nasıl bir gelişme sunar?
Deci AI tarafından geliştirilen YOLO-NAS, gelişmiş Nöral Mimari Arama (NAS) teknolojisinden yararlanan son teknoloji bir nesne algılama modelidir. Nicemleme dostu temel bloklar ve gelişmiş eğitim şemaları gibi özellikler sunarak önceki YOLO modellerinin sınırlamalarını giderir. Bu, özellikle sınırlı hesaplama kaynaklarına sahip ortamlarda performansta önemli iyileşmelerle sonuçlanır. YOLO-NAS ayrıca nicemlemeyi destekler ve INT8 sürümüne dönüştürüldüğünde bile yüksek doğruluğu koruyarak ü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 paketi. İşte, önceden eğitilmiş bir YOLO-NAS modelini nasıl yükleyeceğinize ve ??karım gerçekleştireceğinize dair basit bir örnek:
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 onu üstün bir seçim yapan birçok temel özellik sunar:
- Kuvantizasyon Dostu Temel Blok: Kuvantizasyon sonrası minimum kesinlik kaybıyla model performansını artıran geliştirilmiş mimari.
- Gelişmiş Eğitim ve Kuantalama: Gelişmiş eğitim şemaları ve eğitim sonrası kuantalama teknikleri kullanır.
- AutoNAC Optimizasyonu ve Ön Eğitim: AutoNAC optimizasyonunu kullanır ve COCO, Objects365 ve Roboflow 100 gibi öne çıkan veri kümelerinde önceden eğitilmiştir.
Bu özellikler, yüksek doğruluğuna, verimli performansına ve üretim ortamlarında dağıtıma uygunluğuna katkıda bulunur. Temel Özellikler bölümünde daha fazla bilgi edinin.
YOLO-NAS modelleri hangi görevleri ve modları desteklemektedir?
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 arasında, her biri farklı hesaplama kapasitelerine ve performans ihtiyaçlarına göre uyarlanmış YOLO-NAS-s, YOLO-NAS-m ve YOLO-NAS-l bulunur. Ayrıntılı bir genel bakış için Desteklenen Görevler ve Modlar bölümüne başvurun.
Ö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 sunar. Bu modeller, hız ve doğruluk açısından yüksek performans sağlamak için COCO gibi veri kümeleri üzerinde önceden eğitilmiştir. Bu modelleri Önceden Eğitilmiş Modeller bölümünde verilen bağlantıları kullanarak indirebilirsiniz. İşte bazı örnekler: