YOLO-NAS
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ş Sinirsel Mimari Arama teknolojisinin ürünüdür. Niceleme desteği ve doğruluk-gecikme ödünleşimlerindeki önemli gelişmelerle YOLO-NAS, nesne algılamada büyük bir sıçramayı temsil eder.
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 |
Her model çeşidi, Ortalama Ortalama Hassasiyet (mAP) ve gecikme süresi arasında bir denge sunacak şekilde tasarlanmıştır ve nesne algılama görevlerinizi hem performans hem de hız açısından optimize etmenize yardımcı olur.
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 ön eğitimli *.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 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 tespiti 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ğ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},
}
Bilgisayarla görme topluluğu için bu değerli kaynağı oluşturma ve sürdürme çabalarından dolayı Deci AI'un SuperGradients ekibine şükranlarımızı sunarız. 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ç olacağına inanıyoruz.
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:
- Kuantizasyon Dostu Temel Blok: Niceleme sonrası minimum hassasiyet düşüşü ile model performansını artıran geliştirilmiş mimari.
- 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: