YOLO-NAS#
YOLO-NAS'ın özgün geliştiricileri olan Deci şirketinin NVIDIA tarafından satın alındığını lütfen unutma. Bunun sonucunda bu modellerin bakımı artık Deci tarafından aktif olarak yapı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 nesne algılama temel modelidir. Önceki YOLO modellerinin sınırlamalarını gidermek üzere titizlikle tasarlanan gelişmiş Sinir Ağı Mimarisi Arama teknolojisinin ürünüdür. Niceleme desteğindeki ve doğruluk-gecikme dengelerindeki ö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 niceleme farkındalıklı bloklardan ve seçmeli nicelemeden yararlanır. Model, INT8 nicelemeli sürümüne dönüştürüldüğünde en düşük düzeyde hassasiyet kaybı yaşar; bu, diğer modellere kıyasla önemli bir iyileşmedir. Bu gelişmeler, benzeri görülmemiş nesne algılama yeteneklerine ve üstün performansa sahip bir mimariyle sonuçlanır.
Temel Özellikler#
- Nicelemeye Uyumlu Temel Blok: YOLO-NAS, nicelemeye uyumlu yeni bir temel blok sunarak önceki YOLO modellerinin önemli sınırlamalarından birini giderir.
- Gelişmiş 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, modeli üretim ortamlarındaki sonraki nesne algılama görevleri için son derece uygun hale 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 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 Ortalama Kesinlik (mAP) ile gecikme arasında bir denge sunmak üzere 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, ultralytics Python paketimiz aracılığıyla YOLO-NAS modellerini Python uygulamalarına entegre etmeni kolaylaştırdı. Paket, süreci kolaylaştırmak için kullanıcı dostu bir Python API'si sağlar.
Aşağıdaki örnekler, çıkarım ve doğrulama için YOLO-NAS modellerinin ultralytics paketiyle nasıl kullanılacağını gösterir:
Çı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şlemek için Predict moduna bak. YOLO-NAS'ı ek modlarla kullanmak için Val ve Export modlarına 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 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")Desteklenen Görevler ve Modlar#
YOLO-NAS modellerinin üç varyantını sunuyoruz: Small (s), Medium (m) ve Large (l). Her varyant, farklı hesaplama ve performans gereksinimlerine yanıt verecek ş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 uyarlanmıştır.
Aşağıda her modele ilişkin, önceden eğitilmiş ağırlıklarına bağlantıları, destekledikleri görevleri ve farklı çalışma modlarıyla uyumluluklarını içeren ayrıntılı bir genel bakış yer alır.
| Model Türü | Önceden Eğitilmiş Ağırlıklar | Desteklenen Görevler | Eğitim | Doğrulama | Çıkarım | Dışa aktarma |
|---|---|---|---|---|---|---|
| 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 | ❌ | ✅ | ✅ | ✅ |
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ğı bilgisayarlı görü topluluğu için oluşturan ve sürdüren Deci AI SuperGradients ekibine minnettarlığımızı ifade 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ç haline geleceğine inanıyoruz.
SSS#
Deci AI tarafından geliştirilen YOLO-NAS, gelişmiş Sinir Ağı Mimarisi Arama (NAS) teknolojisinden yararlanan son teknoloji bir nesne algılama modelidir. Nicelemeye uyumlu temel bloklar ve gelişmiş eğitim şemaları gibi özellikler sunarak önceki YOLO modellerinin sınırlamalarını giderir. Bu, özellikle hesaplama kaynaklarının sınırlı olduğu ortamlarda performansta önemli iyileştirmeler sağlar. 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 ayrıntı için Genel Bakış bölümüne bak.
ultralyticspaketini kullanarak YOLO-NAS modellerini Python uygulamana kolayca entegre edebilirsin. Aşağıda, önceden eğitilmiş bir YOLO-NAS modelinin nasıl yükleneceğini ve çıkarım gerçekleştirileceğini gösteren basit bir örnek 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.
YOLO-NAS, onu nesne algılama görevleri için üstün bir seçenek haline getiren çeşitli temel özellikler sunar:
- Nicelemeye Uyumlu Temel Blok: Niceleme sonrasında minimum hassasiyet kaybıyla model performansını artıran geliştirilmiş mimari.
- Gelişmiş Eğitim ve Niceleme: Gelişmiş eğitim şemalarından ve eğitim sonrası niceleme tekniklerinden yararlanı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ıma uygunluğuna katkıda bulunur. Temel Özellikler bölümünde daha fazla bilgi edinebilirsin.
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 gereksinimlerine 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 bak.
Evet, Ultralytics doğrudan erişebileceğin önceden eğitilmiş YOLO-NAS modelleri sunar. 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: