YOLO Vision 2025'i kaçırmayın!
25 Eylül 2025
10:00 — 18:00 BST
Hibrit etkinlik
Yolo Vision 2024
Sözlük

ONNX (Açık Nöral Ağ Değişimi)

ONNX'in yapay zeka modeli taşınabilirliğini ve birlikte çalışabilirliğini nasıl artırdığını, Ultralytics YOLO modellerinin çeşitli platformlarda sorunsuz bir şekilde dağıtılmasını sağladığını keşfedin.

ONNX (Open Neural Network Exchange), makine öğrenimi (ML) modellerini temsil etmek için açık kaynaklı bir formattır. Microsoft ve Facebook gibi şirketler tarafından ortaklaşa geliştirilen ONNX, geliştiricilerin modelleri farklı ML çerçeveleri ve araçları arasında taşımasını sağlayan evrensel bir çevirmen görevi görür. Bu birlikte çalışabilirlik, model geliştirmeden üretime geçişi kolaylaştırmak için çok önemlidir. Tek bir ekosisteme kilitlenmek yerine, ekipler bir modeli PyTorch gibi bir çerçevede eğitebilir ve çıkarım için TensorFlow veya özel bir çıkarım motoru gibi başka bir çerçeve kullanarak dağıtabilir. Örneğin, Ultralytics YOLO modelleri kolayca ONNX formatına aktarılabilir ve çeşitli platformlarda dağıtım için maksimum esneklik sağlar.

ONNX Nasıl Çalışır

ONNX, yerleşik operatörlerin bir listesiyle birlikte bir hesaplama grafiği için standart bir tanım sağlar. Bir modeli ONNX formatına dönüştürdüğünüzde, katmanlardan ve matematiksel işlemlerden oluşan mimarisi bu evrensel standarda eşlenir. Ortaya çıkan .onnx dosya hem ağ yapısını hem de eğitilmiş model ağırlıkları.

Bu standartlaştırılmış dosya daha sonra ONNX spesifikasyonunu destekleyen herhangi bir araç tarafından yüklenebilir. Bunlar şunları içerir:

  • Derin Öğrenme Çatıları: PyTorch ve TensorFlow gibi çatılar, ONNX modellerini hem içe aktarmak hem de dışa aktarmak için araçlara sahiptir.
  • Çıkarım Çalışma Zamanları: ONNX Runtime, Intel'in OpenVINO ve NVIDIA'nın TensorRT gibi yüksek performanslı çalışma zamanları, ONNX modellerini bir CPU veya GPU gibi belirli donanımlarda verimli bir şekilde çalıştırmak için tasarlanmıştır.
  • Bulut Hizmetleri: Azure Machine Learning ve Amazon SageMaker dahil olmak üzere büyük bulut platformları, model sunumunu basitleştirmek için ONNX kullanır.

ONNX'in Gerçek Dünya Uygulamaları

ONNX'in esnekliği, onu birçok bilgisayarla görme ve ML senaryosunda paha biçilmez kılmaktadır.

  1. Yapay Zekayı Uç Cihazlarda Dağıtma: Bir geliştirici, NVIDIA GPU'ları olan güçlü bir masaüstünde Ultralytics YOLO11 gibi karmaşık bir nesne algılama modeli eğitebilir. Uygulamanın perakende analizinde kullanılan bir Raspberry Pi veya akıllı kamera gibi düşük güçlü bir uç cihazda çalışması için model ONNX'e aktarılır. Daha sonra, orijinal PyTorch ortamına ihtiyaç duymadan hedef donanımda verimli performans için ONNX Runtime veya OpenVINO gibi bir çalışma zamanı tarafından optimize edilebilir.

  2. Modelleri Çeşitli Uygulamalara Entegre Etme: Python ve TensorFlow kullanarak bir tıbbi görüntü analizi modeli oluşturan bir sağlık şirketini ele alalım. Hastanenin mevcut yazılım altyapısı C# ve .NET kullanılarak oluşturulmuştur. Ekip, modeli yeniden yazmak yerine ONNX'e aktarır. C# uygulaması daha sonra modelin yeteneklerini doğrudan entegre etmek için .NET için ONNX Runtime'ı kullanabilir, bu da geliştirme süresini ve karmaşıklığını önemli ölçüde azaltır.

ONNX - İlgili Kavramlar

ONNX'i ilgili terimlerden ayırmak önemlidir:

  • Çerçeveye Özgü Formatlar: PyTorch'unki gibi formatlar .pt veya TensorFlow'un SavedModel'i kendi çerçevelerine özgüdür. ONNX, bu formatlar arasında dönüşüme veya ortak bir çalışma zamanı aracılığıyla dağıtıma olanak tanıyan bir aracı görevi görür. TorchScript bazen ONNX dışa aktarımına alternatif veya öncü olarak kullanılan, PyTorch model serileştirmesi için başka bir formattır.
  • Çıkarım Motorları/Çalışma Zamanları: ONNX Runtime, TensorRT ve OpenVINO gibi araçlar, ML modellerini verimli bir şekilde yürütmek için tasarlanmış yazılım kitaplıklarıdır. Bu motorların çoğu, belirli donanım hedefleri için daha fazla optimizasyon (örneğin, nicemleme veya grafik birleştirme) uygulayarak ONNX modellerini tüketebilir. ONNX, bu motorlar için standartlaştırılmış model girdisi sağlar.

Özetle, ONNX, makine öğrenimi operasyonları (MLOps) hattında esneklik ve birlikte çalışabilirlik sağlamak için hayati bir standarttır ve geliştiricilerin çerçeve sınırlamalarıyla kısıtlanmadan eğitim ve dağıtım için en iyi araçları seçmelerini sağlar. Ultralytics HUB gibi platformlar, model geliştirmeden gerçek dünya uygulamasına geçişi basitleştirmek için bu tür formatlardan yararlanır. Daha fazla bilgi edinmek için resmi ONNX web sitesini ziyaret edin ve projeyi GitHub'da keşfedin.

Ultralytics topluluğuna katılın

Yapay zekanın geleceğine katılın. Küresel yenilikçilerle bağlantı kurun, işbirliği yapın ve birlikte büyüyün

Şimdi katılın
Bağlantı panoya kopyalandı