İçeriğe geç

ONNX YOLO11 Modelleri için Dışa Aktarma

Bilgisayarla görme modellerini dağıtırken genellikle hem esnek hem de birden fazla platformla uyumlu bir model formatına ihtiyaç duyarsınız.

İhracat Ultralytics YOLO11 modelleri ONNX biçimine dönüştürmek dağıtımı kolaylaştırır ve çeşitli ortamlarda optimum performans sağlar. Bu kılavuz size YOLO11 modellerinizi nasıl kolayca ONNX formatına dönüştürebileceğinizi ve gerçek dünya uygulamalarında ölçeklenebilirliklerini ve etkinliklerini nasıl artırabileceğinizi gösterecektir.

ONNX ve ONNX Çalışma Zamanı

ONNXAçılımı Open Neural Network Exchange (Açık Sinir Ağı Değişimi) olan Microsoft , başlangıçta Facebook ve tarafından geliştirilen bir topluluk projesidir. ONNX 'un devam eden gelişimi IBM, Amazon (AWS aracılığıyla) ve Google gibi çeşitli kuruluşlar tarafından desteklenen ortak bir çabadır. Proje, makine öğrenimi modellerini farklı yapay zeka çerçeveleri ve donanımları arasında kullanılmalarına izin verecek şekilde temsil etmek üzere tasarlanmış açık bir dosya formatı oluşturmayı amaçlamaktadır.

ONNX modeller farklı çerçeveler arasında sorunsuz bir şekilde geçiş yapmak için kullanılabilir. Örneğin, PyTorch adresinde eğitilen bir derin öğrenme modeli ONNX formatına aktarılabilir ve ardından kolayca TensorFlow adresine aktarılabilir.

ONNX

Alternatif olarak, ONNX modelleri ONNX Runtime ile kullanılabilir. ONNX Runtime, PyTorch gibi çerçevelerle uyumlu makine öğrenimi modelleri için çok yönlü bir platformlar arası hızlandırıcıdır, TensorFlow, TFLite, scikit-learn, vb.

ONNX Runtime, donanıma özgü yeteneklerden yararlanarak ONNX modellerinin yürütülmesini optimize eder. Bu optimizasyon, modellerin CPU'lar, GPU'lar ve özel hızlandırıcılar dahil olmak üzere çeşitli donanım platformlarında verimli ve yüksek performansla çalışmasını sağlar.

ONNX  ONNX Runtime ile

İster bağımsız olarak ister ONNX Runtime ile birlikte kullanılsın, ONNX makine öğrenimi modeli dağıtımı ve uyumluluğu için esnek bir çözüm sunar.

ONNX Modellerinin Temel Özellikleri

ONNX 'un çeşitli formatları işleme yeteneği aşağıdaki temel özelliklere bağlanabilir:

  • Ortak Model Gösterimi: ONNX ortak bir dizi operatör (konvolüsyonlar, katmanlar vb.) ve standart bir veri formatı tanımlar. Bir model ONNX formatına dönüştürüldüğünde, mimarisi ve ağırlıkları bu ortak gösterime çevrilir. Bu tekdüzelik, modelin ONNX destekleyen herhangi bir çerçeve tarafından anlaşılabilmesini sağlar.

  • Versiyonlama ve Geriye Dönük Uyumluluk: ONNX , operatörleri için bir versiyonlama sistemi sürdürmektedir. Bu, standart geliştikçe bile eski sürümlerde oluşturulan modellerin kullanılabilir kalmasını sağlar. Geriye dönük uyumluluk, modellerin hızla eskimesini önleyen çok önemli bir özelliktir.

  • Grafik Tabanlı Model Gösterimi: ONNX modelleri hesaplama grafikleri olarak temsil eder. Bu grafik tabanlı yapı, düğümlerin işlemleri veya hesaplamaları temsil ettiği ve kenarların aralarında akan tensörleri temsil ettiği makine öğrenimi modellerini temsil etmenin evrensel bir yoludur. Bu format, modelleri grafik olarak da temsil eden çeşitli çerçevelere kolayca uyarlanabilir.

  • Araçlar ve Ekosistem: ONNX çevresinde model dönüştürme, görselleştirme ve optimizasyona yardımcı olan zengin bir araç ekosistemi bulunmaktadır. Bu araçlar, geliştiricilerin ONNX modelleriyle çalışmasını ve modelleri farklı çerçeveler arasında sorunsuz bir şekilde dönüştürmesini kolaylaştırır.

Yaygın Kullanımı ONNX

YOLO11 modellerini ONNX formatına nasıl aktaracağımıza geçmeden önce, ONNX modellerinin genellikle nerede kullanıldığına bir göz atalım.

CPU Dağıtım

ONNX modelleri, ONNX Runtime ile uyumlulukları nedeniyle genellikle CPU'lara dağıtılır. Bu çalışma zamanı CPU yürütme için optimize edilmiştir. Çıkarım hızını önemli ölçüde artırır ve gerçek zamanlı CPU dağıtımlarını mümkün kılar.

Desteklenen Dağıtım Seçenekleri

ONNX modelleri genellikle CPU'larda kullanılırken, aşağıdaki platformlarda da kullanılabilirler:

  • GPU Hızlandırma: ONNX , özellikle NVIDIA CUDA olmak üzere GPU hızlandırmayı tamamen destekler. Bu, yüksek hesaplama gücü gerektiren görevler için NVIDIA GPU'larda verimli yürütme sağlar.

  • ve Mobil Cihazlar: ONNX uç ve mobil cihazlara kadar uzanır, cihaz üzerinde ve gerçek zamanlı çıkarım senaryoları için mükemmeldir. Hafiftir ve uç donanımla uyumludur.

  • Web Tarayıcıları: ONNX doğrudan web tarayıcılarında çalışarak etkileşimli ve dinamik web tabanlı yapay zeka uygulamalarına güç sağlayabilir.

YOLO11 Modellerini Dışa Aktarma ONNX

YOLO11 modellerini ONNX formatına dönüştürerek model uyumluluğunu ve dağıtım esnekliğini artırabilirsiniz.

Kurulum

Gerekli paketi yüklemek için çalıştırın:

Kurulum

# Install the required package for YOLO11
pip install ultralytics

Kurulum süreciyle ilgili ayrıntılı talimatlar ve en iyi uygulamalar için YOLO11 Kurulum kılavuzumuza göz atın. YOLO11 için gerekli paketleri yüklerken herhangi bir zorlukla karşılaşırsanız, çözümler ve ipuçları için Ortak Sorunlar kılavuz umuza başvurun.

Kullanım

Kullanım talimatlarına geçmeden önce, Ultralytics tarafından sunulanYOLO11 model yelpazesine göz attığınızdan emin olun. Bu, proje gereksinimleriniz için en uygun modeli seçmenize yardımcı olacaktır.

Kullanım

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to ONNX format
model.export(format="onnx")  # creates 'yolo11n.onnx'

# Load the exported ONNX model
onnx_model = YOLO("yolo11n.onnx")

# Run inference
results = onnx_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to ONNX format
yolo export model=yolo11n.pt format=onnx  # creates 'yolo11n.onnx'

# Run inference with the exported model
yolo predict model=yolo11n.onnx source='https://ultralytics.com/images/bus.jpg'

Dışa aktarma işlemi hakkında daha fazla bilgi için, dışa aktarma ile ilgiliUltralytics dokümantasyon sayfasını ziyaret edin.

Dışa Aktarılan YOLO11 ONNX Modellerini Dağıtma

Ultralytics YOLO11 modellerinizi ONNX formatına başarıyla aktardıktan sonra, bir sonraki adım bu modelleri çeşitli ortamlara dağıtmaktır. ONNX modellerinizi dağıtmaya ilişkin ayrıntılı talimatlar için aşağıdaki kaynaklara göz atın:

Özet

Bu kılavuzda, Ultralytics YOLO11 modellerinin çeşitli platformlarda birlikte çalışabilirliğini ve performansını artırmak için ONNX formatına nasıl aktarılacağını öğrendiniz. Ayrıca ONNX Runtime ve ONNX dağıtım seçenekleriyle tanıştınız.

Kullanım hakkında daha fazla bilgi için ONNX resmi belgelerini ziyaret edin.

Ayrıca, diğer Ultralytics YOLO11 entegrasyonları hakkında daha fazla bilgi edinmek isterseniz, entegrasyon kılavuzu sayfamızı ziyaret edin. Orada çok sayıda faydalı kaynak ve bilgi bulacaksınız.

SSS

YOLO11 modellerini Ultralytics kullanarak ONNX formatına nasıl aktarabilirim?

YOLO11 modellerinizi Ultralytics kullanarak ONNX formatına aktarmak için aşağıdaki adımları izleyin:

Kullanım

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to ONNX format
model.export(format="onnx")  # creates 'yolo11n.onnx'

# Load the exported ONNX model
onnx_model = YOLO("yolo11n.onnx")

# Run inference
results = onnx_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to ONNX format
yolo export model=yolo11n.pt format=onnx  # creates 'yolo11n.onnx'

# Run inference with the exported model
yolo predict model=yolo11n.onnx source='https://ultralytics.com/images/bus.jpg'

Daha fazla ayrıntı için ihracat belgelerini ziyaret edin.

YOLO11 modellerini dağıtmak için ONNX Runtime kullanmanın avantajları nelerdir?

YOLO11 modellerini dağıtmak için ONNX Runtime'ı kullanmak çeşitli avantajlar sunar:

  • Platformlar arası uyumluluk: ONNX Runtime Windows, macOS ve Linux gibi çeşitli platformları destekleyerek modellerinizin farklı ortamlarda sorunsuz çalışmasını sağlar.
  • Donanım hızlandırma: ONNX Çalışma zamanı, CPU'lar, GPU'lar ve özel hızlandırıcılar için donanıma özgü optimizasyonlardan yararlanarak yüksek performanslı çıkarım sağlayabilir.
  • Çerçeve birlikte çalışabilirliği: Aşağıdaki gibi popüler çerçevelerde eğitilen modeller PyTorch veya TensorFlow kolayca ONNX formatına dönüştürülebilir ve ONNX Runtime kullanılarak çalıştırılabilir.

ONNX Runtime belgelerini kontrol ederek daha fazla bilgi edinin.

ONNX adresine aktarılan YOLO11 modelleri için hangi dağıtım seçenekleri mevcuttur?

YOLO11 ONNX adresine aktarılan modeller, aşağıdakiler de dahil olmak üzere çeşitli platformlara dağıtılabilir:

  • CPU'lar: Optimize edilmiş CPU çıkarımı için ONNX Runtime'dan yararlanma.
  • GPU'lar: Yüksek performanslı GPU hızlandırma için NVIDIA CUDA adresinden yararlanma.
  • Uç cihazlar: Gerçek zamanlı, cihaz üzerinde çıkarım için uç ve mobil cihazlarda hafif modeller çalıştırma.
  • Web tarayıcıları: Etkileşimli web tabanlı uygulamalar için modelleri doğrudan web tarayıcılarında çalıştırma.

Daha fazla bilgi için model dağıtım seçeneklerine ilişkin kılavuzumuzu inceleyin.

Neden Ultralytics YOLO11 modelleri için ONNX formatını kullanmalıyım?

Ultralytics YOLO11 modelleri için ONNX formatını kullanmak çok sayıda avantaj sağlar:

  • Birlikte çalışabilirlik: ONNX , modellerin farklı makine öğrenimi çerçeveleri arasında sorunsuz bir şekilde aktarılmasını sağlar.
  • Performans Optimizasyonu: ONNX Çalışma zamanı, donanıma özgü optimizasyonları kullanarak model performansını artırabilir.
  • Esneklik: ONNX çeşitli dağıtım ortamlarını destekleyerek aynı modeli farklı platformlarda değişiklik yapmadan kullanabilmenizi sağlar.

YOLO11 modellerinin ONNX adresine ihraç edilmesine ilişkin kapsamlı kılavuza bakın.

YOLO11 modellerini ONNX adresine aktarırken sorunları nasıl giderebilirim?

YOLO11 modellerini ONNX adresine aktarırken, uyumsuz bağımlılıklar veya desteklenmeyen işlemler gibi yaygın sorunlarla karşılaşabilirsiniz. Bu sorunları gidermek için:

  1. Gerekli bağımlılıkların doğru sürümünün yüklü olduğunu doğrulayın.
  2. Desteklenen operatörler ve özellikler için resmi ONNX belgelerini kontrol edin.
  3. İpuçları için hata mesajlarını inceleyin ve Ultralytics Yaygın Sorunlar kılavuzuna başvurun.

Sorunlar devam ederse, daha fazla yardım için Ultralytics destek birimiyle iletişime geçin.

📅1 0 ay önce oluşturuldu ✏️ 2 ay önce güncellendi

Yorumlar