YOLO-NAS
Lütfen YOLO-NAS'ın orijinal yaratıcıları olan Deci şirketinin NVIDIA tarafından satın alındığını unutma. Sonuç olarak, bu modeller artık Deci tarafından aktif bir şekilde güncellenmemektedir. Ultralytics, bu modellerin kullanımını desteklemeye devam etmektedir, ancak orijinal ekipten yeni bir güncelleme beklenmemektedir.
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 Mimarisi Arama teknolojisinin bir ürünüdür. Nicemleme (quantization) desteği ve doğruluk-gecikme takaslarındaki önemli iyileştirmelerle YOLO-NAS, nesne algılamada büyük bir sıçramayı temsil eder.
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şme olan minimum düzeyde hassasiyet kaybı yaşar. Bu gelişmeler, benzeri görülmemiş nesne algılama yetenekleri ve olağanüstü performansla üstün bir mimariyle sonuçlanır.
Temel Özellikler
- Nicemleme Dostu Temel Blok: YOLO-NAS, önceki YOLO modellerinin önemli sınırlamalarından birini ele alan, nicemlemeye uygun yeni bir temel blok sunar.
- Gelişmiş Eğitim ve Nicemleme: YOLO-NAS, performansı artırmak için gelişmiş eğitim şemalarından ve eğitim sonrası nicemlemeden 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ında sonraki 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 algılama gücünü deneyimle. Bu modeller, hem hız hem de doğruluk açısı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 Hassasiyet (mAP) ile gecikme arasında bir denge sunmak üzere tasarlanmış olup, nesne algılama görevlerini hem performans hem de hız açısından optimize etmene yardımcı olur.
Kullanım Örnekleri
Ultralytics, ultralytics python paketimiz aracılığıyla YOLO-NAS modellerini Python uygulamalarına entegre etmeyi kolaylaştırdı. Paket, süreci kolaylaştırmak için kullanıcı dostu bir Python API'si sağlar.
Aşağıdaki örnekler, ultralytics paketi ile YOLO-NAS modellerinin çıkarım ve doğrulama için nasıl kullanılacağını göstermektedir:
Çıkarım ve Doğrulama Örnekleri
Bu örnekte COCO8 veri kümesi üzerinde YOLO-NAS-s'yi doğruluyoruz.
Bu örnek, YOLO-NAS için basit çıkarım ve doğrulama kodu sağlar. Çıkarım sonuçlarını işlemek için Tahmin moduna bak. YOLO-NAS'ı ek modlarla kullanmak için Val ve Dışa Aktarma bölümlerine bak. ultralytics paketindeki YOLO-NAS, eğitimi desteklemez.
PyTorch önceden eğitilmiş *.pt model dosyaları, Python'da bir model örneği oluşturmak için NAS() sınıfına aktarılabilir:
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")Desteklenen Görevler ve Modlar
YOLO-NAS modellerinin üç varyantını sunuyoruz: Small (s), Medium (m) ve Large (l). Her 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 anahtar 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ıtlı olduğu, en yüksek doğruluğun gerektiği 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ı işletim modlarıyla uyumlulukları dahil olmak üzere her modelin ayrıntılı bir özeti bulunmaktadır.
| Model Tipi | Önceden Eğitilmiş Ağırlıklar | Desteklenen Görevler | Çıkarım | Doğrulama | Eğitim | Dışa Aktar (Export) |
|---|---|---|---|---|---|---|
| YOLO-NAS-s | yolo_nas_s.pt | Nesne Tespiti | ✅ | ✅ | ❌ | ✅ |
| YOLO-NAS-m | yolo_nas_m.pt | Nesne Tespiti | ✅ | ✅ | ❌ | ✅ |
| YOLO-NAS-l | yolo_nas_l.pt | Nesne Tespiti | ✅ | ✅ | ❌ | ✅ |
Alıntılar ve Teşekkür
Araştırma veya geliştirme çalışmalarında YOLO-NAS kullanıyorsan, lütfen SuperGradients'ten alıntı yap:
@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},
}Deci AI'ın SuperGradients ekibine, bilgisayarlı görü topluluğu için bu değerli kaynağı oluşturma ve sürdürme çabalarından dolayı minnettarız. Yenilikçi mimarisi ve üstün nesne algılama yetenekleri ile YOLO-NAS'ın geliştiriciler ve 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 sağlar?
Deci AI tarafından geliştirilen YOLO-NAS, gelişmiş Sinir Mimarisi 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ştirmeler 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.
YOLO-NAS modellerini Python uygulamama nasıl entegre edebilirim?
YOLO-NAS modellerini ultralytics paketini kullanarak Python uygulamana kolayca entegre edebilirsin. İşte önceden eğitilmiş bir YOLO-NAS modelini yükleme ve çıkarım yapma ile ilgili 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 kısmına bak.
YOLO-NAS'ın temel özellikleri nelerdir ve neden kullanmayı düşünmeliyim?
YOLO-NAS, onu nesne algılama görevleri için üstün bir seçenek haline getiren birkaç temel özellik sunar:
- Nicemleme Dostu Temel Blok: Nicemleme sonrasında minimum hassasiyet kaybıyla model performansını artıran gelişmiş mimari.
- Gelişmiş Eğitim ve Nicemleme: Gelişmiş eğitim şemaları ve eğitim sonrası nicemleme 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ünde daha fazlasını öğren.
YOLO-NAS modelleri tarafından hangi görevler ve modlar desteklenmektedir?
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 kapasitelerine 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.
Önceden eğitilmiş YOLO-NAS modelleri mevcut mu ve onlara nasıl erişebilirim?
Evet, Ultralytics doğrudan erişebileceğin ö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 indirebilirsin. İşte bazı örnekler: