YOLO-NAS#
YOLO-NAS'ın ilk geliştiricisi olan Deci şirketinin NVIDIA tarafından satın alındığını lütfen unutma. Sonuç olarak bu modeller artık Deci tarafından etkin olarak sürdürülmüyor. Ultralytics bu modellerin kullanımını desteklemeye devam ediyor ancak özgün ekipten başka güncelleme beklenmiyor.
Genel Bakış#
Deci AI tarafından geliştirilen YOLO-NAS, çığır açan bir temel nesne algılama modelidir. Önceki YOLO modellerinin sınırlamalarını gidermek için titizlikle tasarlanan, gelişmiş sinir ağı mimarisi arama teknolojisinin ürünüdür. Niceleme desteğindeki ve doğruluk-gecikme ödünleşimlerindeki önemli iyileştirmeleriyle YOLO-NAS, nesne algılamada büyük bir ilerlemeyi temsil eder.
YOLO-NAS'a genel bakış. YOLO-NAS, en iyi performans için niceleme farkındalıklı bloklar ve seçici niceleme kullanır. Modelin INT8 nicelemeli sürümüne dönüştürülmesi, diğer modellere kıyasla önemli bir iyileşmeyle, hassasiyette yalnızca çok küçük bir düşüşe yol açar. Bu gelişmeler, benzeri görülmemiş nesne algılama yeteneklerine ve olağanüstü performansa sahip üstün bir mimariyle sonuçlanır.
Temel Özellikler#
- Nicelemeye Uygun Temel Blok: YOLO-NAS, önceki YOLO modellerinin önemli sınırlamalarından birini gidererek nicelemeye uygun yeni bir temel blok sunar.
- Gelişmiş Eğitim ve Niceleme: YOLO-NAS, performansı artırmak için gelişmiş eğitim düzenlerinden ve eğitim sonrası nicelemeden yararlanır.
- AutoNAC Optimizasyonu ve Ön Eğitim: YOLO-NAS, AutoNAC optimizasyonundan yararlanır ve COCO, Objects365 ve Roboflow 100 gibi önde gelen veri kümeleriyle önceden eğitilir. Bu ön eğitim, modeli üretim ortamlarındaki sonraki aşama nesne algılama görevleri için son derece uygun hâle getirir.
Önceden Eğitilmiş Modeller#
Ultralytics tarafından sunulan, önceden eğitilmiş YOLO-NAS modelleriyle yeni nesil nesne algılamanın gücünü deneyimle. Bu modeller hem hız hem de doğruluk bakımından üst düzey performans sunmak üzere tasarlanmıştır. Özel ihtiyaçlarına göre uyarlanmış çeşitli seçenekler arasından seçim yap:
| 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) ile gecikme arasında denge sunacak şekilde tasarlanmıştır; böylece nesne algılama görevlerini hem performans hem de hız açısından optimize edebilirsin.
Kullanım Örnekleri#
Ultralytics, YOLO-NAS modellerinin Python uygulamalarına ultralytics Python paketimiz aracılığıyla kolayca entegre edilmesini sağlar. Paket, süreci kolaylaştıran kullanıcı dostu bir Python API'si sunar.
Aşağıdaki örneklerde, çıkarım ve doğrulama için ultralytics paketiyle YOLO-NAS modellerinin nasıl kullanılacağı gösterilmektedir:
Çıkarım ve Doğrulama Örnekleri#
Bu örnekte YOLO-NAS-s modelini COCO8 veri kümesi üzerinde doğruluyoruz.
Bu örnek, YOLO-NAS için basit çıkarım ve doğrulama kodu sunar. Çıkarım sonuçlarını işleme hakkında bilgi için Tahmin moduna bak. YOLO-NAS'ı ek modlarla kullanmak için Doğrulama ve Dışa Aktarma bölümlerine bak. ultralytics paketindeki YOLO-NAS eğitim özelliğini desteklemez.
Python'da bir model örneği oluşturmak için PyTorch ile önceden eğitilmiş *.pt model dosyalarını NAS() sınıfına aktarabilirsin:
from ultralytics import NAS
# COCO üzerinde önceden eğitilmiş bir YOLO-NAS-s modelini yükle
model = NAS("yolo_nas_s.pt")
# Model bilgilerini görüntüle (isteğe bağlı)
model.info()
# Modeli COCO8 örnek veri kümesi üzerinde doğrula
results = model.val(data="coco8.yaml")
# 'bus.jpg' görüntüsünde YOLO-NAS-s modeliyle çıkarım yap
results = model("path/to/bus.jpg")Desteklenen Görevler ve Modlar#
YOLO-NAS modellerinin üç varyantını sunuyoruz: Küçük (s), Orta (m) ve Büyük (l). Her varyant, farklı hesaplama ve performans gereksinimlerini karşılayacak şekilde 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 ve en yüksek doğruluğun gerektiği senaryolar için 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ı dâhil olmak üzere her modelin ayrıntılı bir özeti yer alıyor.
| Model Türü | Önceden Eğitilmiş Ağırlıklar | Desteklenen Görevler | Eğitim | Doğrulama | Çıkarım | 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 | ❌ | ✅ | ✅ | ✅ |
Atıflar ve Teşekkürler#
YOLO-NAS'ı araştırma veya geliştirme çalışmalarında kullanıyorsan lütfen SuperGradients'a atıfta bulun:
@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},
}Bu değerli kaynağı oluşturup sürdürme çabaları için Deci AI'ın SuperGradients ekibine ve bilgisayarlı görü topluluğuna teşekkür ederiz. Yenilikçi mimarisi ve üstün nesne algılama yetenekleriyle YOLO-NAS'ın hem geliştiriciler hem de araştırmacılar için kritik bir araç hâline geleceğine inanıyoruz.
Sık Sorulan Sorular#
Deci AI tarafından geliştirilen YOLO-NAS, gelişmiş Sinir Ağı Mimarisi Arama (NAS) teknolojisinden yararlanan, son teknoloji ürünü bir nesne algılama modelidir. Nicelemeye uygun temel bloklar ve gelişmiş eğitim düzenleri gibi özellikler sunarak önceki YOLO modellerinin sınırlamalarını giderir. Bunun sonucunda, özellikle hesaplama kaynaklarının sınırlı olduğu ortamlarda performans önemli ölçüde iyileşir. YOLO-NAS ayrıca nicelemeyi destekler ve INT8 sürümüne dönüştürüldüğünde bile yüksek doğruluğu koruyarak üretim ortamlarına uygunluğunu artırır. Daha fazla bilgi için Genel Bakış bölümüne bak.
YOLO-NAS modellerini
ultralyticspaketini kullanarak Python uygulamana kolayca entegre edebilirsin. Aşağıda, önceden eğitilmiş bir YOLO-NAS modelini yükleyip çıkarım yapmaya yönelik basit bir örnek bulabilirsin:from ultralytics import NAS # COCO üzerinde önceden eğitilmiş bir YOLO-NAS-s modelini yükle model = NAS("yolo_nas_s.pt") # Modeli COCO8 örnek veri kümesi üzerinde doğrula results = model.val(data="coco8.yaml") # 'bus.jpg' görüntüsünde YOLO-NAS-s modeliyle çıkarım yap results = model("path/to/bus.jpg")Daha fazla bilgi için Çıkarım ve Doğrulama Örnekleri bölümüne bak.
YOLO-NAS, nesne algılama görevleri için onu üstün bir seçenek hâline getiren birkaç temel özellik sunar:
- Nicelemeye Uygun Temel Blok: Niceleme sonrasında hassasiyette en az düşüşle model performansını iyileştiren gelişmiş mimari.
- Gelişmiş Eğitim ve Niceleme: Gelişmiş eğitim düzenlerinden ve eğitim sonrası niceleme tekniklerinden yararlanır.
- AutoNAC Optimizasyonu ve Ön Eğitim: AutoNAC optimizasyonundan yararlanır ve COCO, Objects365 ve Roboflow 100 gibi önde gelen veri kümeleriyle önceden eğitilir.
Bu özellikler, yüksek doğruluğuna, verimli performansına ve üretim ortamlarında dağıtıma uygunluğuna katkıda bulunur. Daha fazla bilgi için Temel Özellikler bölümüne bak.
YOLO-NAS modelleri çıkarım, doğrulama ve dışa aktarma gibi çeşitli nesne algılama görevlerini ve modlarını destekler. Eğitim desteklenmez. Desteklenen modeller arasında YOLO-NAS-s, YOLO-NAS-m ve YOLO-NAS-l bulunur; her biri farklı hesaplama kapasiteleri ve performans gereksinimleri için tasarlanmıştır. Ayrıntılı bilgi için Desteklenen Görevler ve Modlar bölümüne bak.
Evet, Ultralytics doğrudan erişebileceğin önceden eğitilmiş YOLO-NAS modelleri sunar. Bu modeller COCO gibi veri kümelerinde önceden eğitilmiştir; böylece hem hız hem de doğruluk açısından yüksek performans sağlar. Bu modelleri Önceden Eğitilmiş Modeller bölümündeki bağlantıları kullanarak indirebilirsin. İşte bazı örnekler: