Ultralytics YOLO27:
Entegrasyonlar

Ultralytics YOLOv5'i Neural Magic'in DeepSparse Çözümüyle Dağıtarak CPU'larda GPU Sınıfı Performans Elde Et

GPU sınıfı CPU performansı için Neural Magic'in DeepSparse çözümüyle Ultralytics YOLOv5 modeli eğitimini ve dağıtımını güçlendir. Daha hızlı ve ölçeklenebilir YOLOv5 dağıtımları gerçekleştir.

NUNuvola Ladi5 dakikalık okuma
Ultralytics YOLOv5'i Neural Magic'in DeepSparse çözümüyle CPU'larda dağıtma

YOLOv5 modellerinin eğitimini ve dağıtımını hızlandırmak mı istiyorsun? Sana yardımcı olabiliriz! En yeni iş ortağımız Neural Magic ile tanış. Neural Magic, en yüksek model performansını ve basit iş akışlarını öne çıkaran yazılım araçları sunduğundan, YOLOv5 dağıtım sürecini daha da iyileştirecek bir çözüm sunmak üzere bir araya gelmemiz son derece doğal.

DeepSparse, sinir ağlarındaki seyrekliğin ve düşük hassasiyetli aritmetiğin avantajlarından yararlanarak yaygın donanımlarda olağanüstü performans sunan Neural Magic'in CPU çıkarım çalışma zamanıdır. Örneğin DeepSparse, ONNX Runtime temel çizgisine kıyasla aynı makinede çalışan YOLOv5s için 5.8x hız artışı sunar!

Ultralytics YOLOv5'in DeepSparse ile verim karşılaştırması

İlk kez, derin öğrenme iş yüklerin üretim performansı gereksinimlerini donanım hızlandırıcılarının karmaşıklığı ve maliyeti olmadan karşılayabilir. Basitçe söylemek gerekirse DeepSparse, GPU performansını yazılımın basitliğiyle sunar:

  1. Esnek dağıtımlar: Herhangi bir donanım sağlayıcısıyla bulut, veri merkezi ve uç ortamlarında tutarlı biçimde çalıştır
  2. Sınırsız ölçeklenebilirlik: Standart Kubernetes ile yatay, yüzlerce çekirdeğe kadar dikey veya sunucusuz mimariyle tamamen soyutlanmış biçimde ölçeklendir
  3. Kolay entegrasyon: Modelini bir uygulamaya entegre etmek ve üretimde izlemek için temiz API'ler kullan

Yaygın CPU'larda GPU sınıfı performans elde et#

DeepSparse, performans hız artışını sağlamak için model seyrekliğinden yararlanır.

Budama ve nicemleme yoluyla seyrekleştirme, yüksek doğruluğu korurken bir ağı çalıştırmak için gereken boyutu ve işlem miktarını kat kat azaltabilir. DeepSparse seyrekliğin farkındadır; sıfırla çarpma-toplama işlemlerini atlar ve ileri geçişteki işlem miktarını azaltır. Seyrek hesaplama bellekle sınırlı olduğundan DeepSparse ağı derinlik boyunca çalıştırır ve problemi önbelleğe sığan dikey işlem şeritleri olan Tensör Sütunlarına böler.

DeepSparse ve Ultralytics YOLOv5 ağı

Önbellekte derinlik boyunca yürütülen, sıkıştırılmış hesaplamaya sahip seyrek ağlar DeepSparse'ın CPU'larda GPU sınıfı performans sunmasını sağlar!

Özel Verilerle Eğitilmiş Seyrek Bir Ultralytics YOLOv5 Sürümü Oluştur#

Neural Magic'in açık kaynaklı model deposu SparseZoo, her YOLOv5 modelinin önceden seyrekleştirilmiş kontrol noktalarını içerir. Ultralytics ile entegre olan SparseML'yi kullanarak tek bir CLI komutuyla seyrek bir kontrol noktasını verilerine göre ince ayarlayabilirsin.

Ultralytics YOLOv5'i DeepSparse ile Dağıt#

DeepSparse'ı Yükle#

DeepSparse'ı yüklemek için aşağıdaki komutu çalıştır. Python ile sanal ortam kullanmanı öneririz.

pip install deepsparse[server,yolo,onnxruntime]

Bir ONNX Dosyası Al#

DeepSparse, ONNX biçimindeki bir modeli şu yollardan biriyle kabul eder:

  • Bir ONNX modeline giden yerel yol
  • SparseZoo'daki bir modeli tanımlayan SparseZoo stub'ı

Standart yoğun YOLOv5s modelini, aşağıdaki SparseZoo stub'larıyla tanımlanan budanmış ve kuantize edilmiş YOLOv5s modeliyle karşılaştıracağız:

zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/base-none
zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/pruned65_quant-none

Model Dağıt#

DeepSparse, modelini bir uygulamaya entegre etmek için kullanışlı API'ler sunar.

Aşağıdaki dağıtım örneklerini denemek için örnek görseli indir ve aşağıdaki komutla basilica.jpg adıyla kaydet:

wget -O basilica.jpg https://raw.githubusercontent.com/neuralmagic/deepsparse/main/src/deepsparse/yolo/sample_images/basilica.jpg

Python API'si#

Pipeline'lar, çalışma zamanı etrafında ön işleme ve çıktı son işlemesini bir araya getirerek DeepSparse'ı bir uygulamaya eklemek için sade bir arayüz sunar. DeepSparse-Ultralytics entegrasyonu, ham görselleri kabul edip sınırlayıcı kutuları çıktı olarak veren kullanıma hazır bir Pipeline içerir.

Bir Pipeline oluştur ve çıkarım çalıştır:

from deepsparse import Pipeline

# yerel dosya sistemindeki görsellerin listesi
images = ["basilica.jpg"]

# Pipeline oluştur
model_stub = "zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/pruned65_quant-none"
yolo_pipeline = Pipeline.create(
    task="yolo",
    model_path=model_stub,
)

# görseller üzerinde çıkarım çalıştır, sınırlayıcı kutuları + sınıfları al
pipeline_outputs = yolo_pipeline(images=images, iou_thres=0.6, conf_thres=0.001)
print(pipeline_outputs)

Bulutta çalışıyorsan open-cv'nin libGL.so.1 dosyasını bulamadığına dair bir hata alabilirsin. Ubuntu'da aşağıdaki komutu çalıştırmak bu dosyayı yükler:

apt-get install libgl1-mesa-glx

HTTP Sunucusu#

DeepSparse Server, popüler FastAPI web çatısı ve Uvicorn web sunucusu üzerinde çalışır. Tek bir CLI komutuyla DeepSparse kullanarak kolayca bir model hizmeti uç noktası kurabilirsin. Server, Ultralytics YOLOv5 ile nesne algılama dâhil DeepSparse'taki tüm Pipeline'ları destekler; böylece uç noktaya ham görseller gönderebilir ve sınırlayıcı kutuları alabilirsin.

Budanmış ve kuantize edilmiş YOLOv5s ile Server'ı başlat:

deepsparse.server \
  --task yolo \
  --model_path zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/pruned65_quant-none

Python'ın requests paketini kullanan örnek bir istek:

import requests, json

# çıkarım için görsellerin listesi (istemci tarafındaki yerel dosyalar)
path = ['basilica.jpg']
files = [('request', open(img, 'rb')) for img in path]

# HTTP üzerinden /predict/from_files uç noktasına istek gönder
url = 'http://0.0.0.0:5543/predict/from_files'
resp = requests.post(url=url, files=files)

# yanıt JSON olarak döndürülür
annotations = json.loads(resp.text)  # açıklama sonuçlarını içeren sözlük
bounding_boxes = annotations["boxes"]
labels = annotations["labels"]

Annotate CLI#

Motorun açıklama eklenmiş bir fotoğrafı diske kaydetmesini sağlamak için annotate komutunu da kullanabilirsin. Canlı web kamerası görüntüne açıklama eklemek için --source 0 seçeneğini dene!

deepsparse.object_detection.annotate --model_filepath zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/pruned65_quant-none --source basilica.jpg

Yukarıdaki komut çalıştırıldığında annotation-results klasörü oluşturulur ve açıklama eklenmiş görsel bu klasöre kaydedilir.

Ultralytics YOLOv5 ile açıklama eklenmiş Basilica

Performansı Karşılaştır#

DeepSparse'ın kıyaslama betiğini kullanarak YOLOv5s üzerinde DeepSparse'ın aktarım hızını ONNX Runtime'ın aktarım hızıyla karşılaştıracağız.

Kıyaslamalar, AWS c6i.8xlarge örneğinde (16 çekirdek) çalıştırıldı.

32'lik Batch Performans Karşılaştırması#

ONNX Runtime Taban Çizgisi#

32'lik batch boyutunda ONNX Runtime, standart yoğun YOLOv5s ile saniyede 42 görsele ulaşır:

deepsparse.benchmark zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/base-none -s sync -b 32 -nstreams 1 -e onnxruntime

Original Model Path: zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/base-none Batch Size: 32 Scenario: sync Throughput (items/sec): 41.9025

DeepSparse Yoğun Model Performansı#

DeepSparse en iyi performansını optimize edilmiş seyrek modellerle sunsa da standart yoğun YOLOv5s ile de iyi performans gösterir.

32'lik batch boyutunda DeepSparse, standart yoğun YOLOv5s ile saniyede 70 görsele ulaşır—ORT'ye kıyasla 1,7 kat performans artışı!

deepsparse.benchmark zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/base-none -s sync -b 32 -nstreams 1

Original Model Path: zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/base-none Batch Size: 32 Scenario: sync Throughput (items/sec): 69.5546

DeepSparse Seyrek Model Performansı#

Modele seyreklik uygulandığında DeepSparse'ın ONNX Runtime karşısındaki performans kazanımı daha da artar.

32'lik batch boyutunda DeepSparse, budanmış ve kuantize edilmiş YOLOv5s ile saniyede 241 görsele ulaşır—ORT'ye kıyasla 5,8 kat performans artışı!

deepsparse.benchmark zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/pruned65_quant-none -s sync -b 32 -nstreams 1

Original Model Path: zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/pruned65_quant-none Batch Size: 32 Scenario: sync Throughput (items/sec): 241.2452

1'lik Batch Performans Karşılaştırması#

DeepSparse, gecikmeye duyarlı 1'lik batch senaryosunda da ONNX Runtime'a kıyasla hız artışı sağlayabilir.

ONNX Runtime Taban Çizgisi#

1'lik batch boyutunda ONNX Runtime, standart yoğun YOLOv5s ile saniyede 48 görsele ulaşır.

deepsparse.benchmark zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/base-none -s sync -b 1 -nstreams 1 -e onnxruntime

Original Model Path: zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/base-none Batch Size: 1 Scenario: sync Throughput (items/sec): 48.0921

DeepSparse Seyrek Model Performansı#

Modele seyreklik uygulandığında DeepSparse'ın ONNX Runtime karşısındaki performans kazanımı daha da artar.

1'lik batch boyutunda DeepSparse, budanmış ve kuantize edilmiş YOLOv5s ile saniyede 135 görsele ulaşır—ONNX Runtime'a kıyasla 2,8 kat performans artışı!

deepsparse.benchmark zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/pruned65_quant-none -s sync -b 1 -nstreams 1

Original Model Path: zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/pruned65_quant-none Batch Size: 1 Scenario: sync Throughput (items/sec): 134.9468

c6i.8xlarge örneklerinde VNNI talimatları bulunduğundan, ağırlıklar 4'lük bloklar hâlinde budanırsa DeepSparse'ın aktarım hızı daha da artırılabilir.

1'lik batch boyutunda DeepSparse, 4 bloklu budanmış ve kuantize edilmiş YOLOv5s ile saniyede 180 öğeye ulaşır—ONNX Runtime'a kıyasla 3,7 kat performans artışı!

deepsparse.benchmark zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/pruned35_quant-none-vnni -s sync -b 1 -nstreams 1

Original Model Path: zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/pruned35_quant-none-vnni Batch Size: 1 Scenario: sync Throughput (items/sec): 179.7375

İşte bu kadar! Artık YOLOv5 dağıtımını DeepSparse ile optimize etmeye hazırsın.

Ultralytics YOLOv5 ve DeepSparse'ı Kullanmaya Başla#

Bizimle iletişime geçmek için topluluğumuza katıl ve sorularını, yorumlarını paylaş. Ultralytics YOLOv5 deposuna ve YOLOv5 dağıtımına ilişkin Neural Magic belgelerinin tamamına göz at.

Ultralytics olarak YOLOv5 gibi harika açık kaynaklı araçlarımızın araştırma ve geliştirme çalışmalarını finanse etmemize yardımcı olmaları için diğer startup'larla ticari ortaklıklar kuruyoruz; böylece bu araçları herkes için ücretsiz tutabiliyoruz. Bu makale, söz konusu ortaklara ait satış ortaklığı bağlantıları içerebilir.

Explore solutions

Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

Ultralytics YOLO ile drone ve hava görüntülerini tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Ultralytics YOLO modelleriyle görüntü yapay zekâsını hava izlemeye taşı. Drone'lara, havacılık iş akışlarına, çevresel korumaya ve jeo-uzamsal sektörlere bilgisayarlı görü çözümleriyle güç kat.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

Ultralytics YOLO ile drone ve hava görüntülerini tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Ultralytics YOLO modelleriyle görüntü yapay zekâsını hava izlemeye taşı. Drone'lara, havacılık iş akışlarına, çevresel korumaya ve jeo-uzamsal sektörlere bilgisayarlı görü çözümleriyle güç kat.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

Ultralytics YOLO ile drone ve hava görüntülerini tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Ultralytics YOLO modelleriyle görüntü yapay zekâsını hava izlemeye taşı. Drone'lara, havacılık iş akışlarına, çevresel korumaya ve jeo-uzamsal sektörlere bilgisayarlı görü çözümleriyle güç kat.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla