Yolo Vision Shenzhen
Shenzhen
Şimdi katılın

ExecuTorch entegrasyonunu kullanarak Ultralytics YOLO modellerini dağıtın

Abirami Vina

5 dakikalık okuma

4 Kasım 2025

Ultralytics YOLO11 gibi Ultralytics YOLO modellerini, uç ve mobil cihazlarda verimli, PyTorch'a özgü dağıtım için ExecuTorch formatına nasıl aktaracağınızı keşfedin.

Otomatik kalite denetimi, otonom dronlar veya akıllı güvenlik sistemleri gibi belirli bilgisayarla görme uygulamaları, Ultralytics YOLO11 gibi Ultralytics YOLO modelleri görüntüleri yakalayan sensöre yakın çalıştığında en iyi performansı gösterir. Başka bir deyişle, bu modellerin verileri buluta göndermek yerine doğrudan üretildikleri yerde, kameralarda, dronlarda veya gömülü sistemlerde işlemesi gerekir. 

Uç yapay zeka olarak bilinen bu yaklaşım, modellerin doğrudan verilerin yakalandığı cihaz üzerinde çıkarım yapmasını sağlar. Sistemler, uzak sunuculara güvenmek yerine bilgileri yerel olarak işleyerek, internet bağlantısının sınırlı olduğu veya hiç olmadığı ortamlarda bile daha düşük gecikme süresi, gelişmiş veri gizliliği ve daha fazla güvenilirlik elde edebilir.

Örneğin, her dakika binlerce ürünü inceleyen bir üretim kamerası veya karmaşık ortamlarda gezinen bir drone, bulut işleme ile gelen gecikmeleri karşılayamaz. YOLO11'in doğrudan cihaz üzerinde çalıştırılması anında, cihaz üzerinde çıkarım yapılmasını sağlar.

Ultralytics YOLO modellerini uçta çalıştırmayı daha kolay ve verimli hale getirmek için Ultralytics tarafından desteklenen yeni ExecuTorch entegrasyonu, modelleri doğrudan mobil ve gömülü cihazlara aktarmak ve dağıtmak için kolaylaştırılmış bir yol sağlar. ExecuTorch, PyTorch Edge ekosisteminin bir parçasıdır ve AI modellerini doğrudan telefonlar, giyilebilir cihazlar, gömülü kartlar ve mikrodenetleyiciler dahil olmak üzere mobil ve uç donanımlarda çalıştırmak için uçtan uca bir çözüm sunar.

Bu entegrasyon, YOLO11 gibi bir Ultralytics YOLO modelinin eğitimden uç cihazlarda dağıtıma alınmasını kolaylaştırır. Kullanıcılar, YOLO11'in görüş yeteneklerini ExecuTorch'un hafif çalışma zamanı ve PyTorch dışa aktarma işlem hattıyla birleştirerek, PyTorch tabanlı çıkarımın doğruluğunu ve performansını korurken uç donanımlarda verimli bir şekilde çalışan modelleri dağıtabilirler.

Bu makalede, ExecuTorch entegrasyonunun nasıl çalıştığına, uç yapay zeka uygulamaları için neden harika bir seçim olduğuna ve Ultralytics YOLO modellerini ExecuTorch ile nasıl dağıtmaya başlayabileceğinize daha yakından bakacağız. Hadi başlayalım!

ExecuTorch nedir?

Genellikle PyTorch'ta bir modeli eğittiğinizde, bu model buluttaki güçlü sunucularda veya Grafik İşlem Birimlerinde (GPU'lar) çalışır. Ancak aynı modeli akıllı telefon, drone veya mikrodenetleyici gibi mobil veya gömülü bir cihaza yerleştirmek için sınırlı bilgi işlem gücü, bellek ve bağlantıyla başa çıkabilen özel bir çözüm gerekir.

ExecuTorch'un masaya getirdiği şey tam olarak budur. ExecuTorch, PyTorch Edge ekosisteminin bir parçası olarak geliştirilen ve mobil, gömülü ve uç platformlarda verimli cihaz içi çıkarım sağlayan uçtan uca bir çözümdür. PyTorch'un yeteneklerini bulutun ötesine taşıyarak yapay zeka modellerinin doğrudan yerel cihazlarda çalışmasını sağlar.

PyTorch çıkarımını uç noktaya getirme

ExecuTorch, özünde PyTorch modellerinin doğrudan cihaz üzerinde yürütülmesini sağlayan hafif bir C++ çalışma zamanı sağlar. ExecuTorch, daha hızlı yükleme, daha küçük bellek ayak izi ve gelişmiş taşınabilirlik için tasarlanmış optimize edilmiş bir dışa aktarma olan PyTorch ExecuTorch (.pte) model formatını kullanır. 

Verimli Merkezi İşlem Birimi (CPU) çıkarımı için varsayılan arka uç olarak XNNPACK'i destekler ve Core ML, Metal, Vulkan, Qualcomm, MediaTek, Arm EthosU, OpenVINO ve diğerleri dahil olmak üzere çok çeşitli donanım arka uçları arasında uyumluluğu genişletir. 

Bu arka uçlar mobil, gömülü ve özel uç cihazlarda optimize edilmiş hızlandırma sağlar. ExecuTorch ayrıca PyTorch dışa aktarma işlem hattıyla entegre olarak, farklı dağıtım ortamlarında performansı ve uyarlanabilirliği artırmak için niceleme ve dinamik şekil işleme gibi gelişmiş özellikler için destek sağlar.

Niceleme, yüksek hassasiyetli değerleri (32 bit kayan sayılar gibi) daha düşük hassasiyetli değerlere dönüştürerek model boyutunu azaltır ve çıkarım hızını artırır; dinamik şekil işleme ise modellerin değişken girdi boyutlarını verimli bir şekilde işlemesini sağlamak için kullanılır. Her iki özellik de yapay zeka modellerini kaynak sınırlı uç cihazlarda çalıştırmak için çok önemlidir.

Şekil 1. ExecuTorch'un nasıl çalıştığına bir bakış(Kaynak)

Uç donanım için birleşik bir katman

ExecuTorch, çalışma zamanının ötesinde, birden fazla donanım arka ucu için birleşik bir soyutlama katmanı görevi de görür. Basitçe söylemek gerekirse, donanıma özgü ayrıntıları soyutlar ve modellerin CPU'lar, GPU'lar ve Sinir İşleme Birimleri (NPU'lar) dahil olmak üzere farklı işlem birimleriyle nasıl etkileşime girdiğini yönetir.

Bir model dışa aktarıldıktan sonra ExecuTorch, belirli bir cihaz için en uygun arka ucu hedefleyecek şekilde yapılandırılabilir. Geliştiriciler, özel cihaza özgü kod yazmadan veya ayrı dönüştürme iş akışlarını sürdürmeden modelleri çeşitli donanımlara verimli bir şekilde dağıtabilir.

Modüler, taşınabilir tasarımı ve sorunsuz PyTorch entegrasyonu sayesinde ExecuTorch, Ultralytics YOLO11 gibi bilgisayarla görme modellerini mobil ve gömülü sistemlere dağıtmak için mükemmel bir seçenektir. Model eğitimi ve gerçek dünya dağıtımı arasındaki boşluğu doldurarak uç yapay zekayı daha hızlı, daha verimli ve uygulaması daha kolay hale getirir.

ExecuTorch'un temel özellikleri

Ultralytics YOLO modellerinin ExecuTorch formatına nasıl aktarılacağına bakmadan önce, ExecuTorch'u uçta yapay zeka dağıtımı için güvenilir bir seçenek yapan şeyin ne olduğunu inceleyelim.

İşte temel özelliklerinden bazılarına bir bakış:

  • Niceleme desteği: ExecuTorch, model boyutunu azaltmak ve çıkarımı hızlandırmak için yüksek hassasiyetli değerleri daha düşük hassasiyetli değerlere dönüştüren bir teknik olan model nicelemeyi destekler. Bu, modellerin daha hızlı çalışmasına ve neredeyse aynı doğruluk seviyesini korurken uç cihazlarda daha az bellek kullanmasına yardımcı olur.
  • Verimli bellek kullanımı: ExecuTorch'un en büyük avantajlarından biri belleği nasıl işlediğidir. ExecuTorch, gecikme ve güç ek yükü getirebilecek dinamik bellek tahsisine güvenmek yerine, Zaman Öncesi (AOT) bellek planlamasını kullanır. Dışa aktarma sırasında model grafiğini analiz eder ve her işlem için ne kadar bellek gerektiğini önceden hesaplar. Bu, çalışma zamanının modelleri statik bir bellek planı kullanarak yürütmesine olanak tanıyarak öngörülebilir performans sağlar ve sınırlı RAM veya işlem kapasitesine sahip cihazlarda yavaşlamaları veya çökmeleri önler.
  • Yerleşik model meta verileri: Ultralytics tarafından desteklenen entegrasyon kullanılarak dışa aktarılırken, her model, giriş görüntü boyutu, sınıf adları ve yapılandırma parametreleri gibi önemli meta verileri içeren bir YAML dosyası içerir. Bu ek dosya, çeşitli uygulamalara model entegrasyonunu basitleştirir ve farklı uç platformlarda tutarlı davranış sağlar.

Ultralytics YOLO modelleri ExecuTorch formatına nasıl aktarılır

ExecuTorch'un neler sunduğunu daha iyi anladığımıza göre, Ultralytics YOLO modellerini ExecuTorch formatına nasıl aktaracağımızı inceleyelim.

Adım 1: Ultralytics Python paketini kurun

Başlamak için, bir paket yükleyici olan pip'i kullanarak Ultralytics Python paketini yüklemeniz gerekir. Bunu terminalinizde veya komut isteminde "pip install ultralytics" komutunu çalıştırarak yapabilirsiniz. 

Jupyter Notebook veya Google Colab ortamında çalışıyorsanız, komutun önüne "!pip install ultralytics" gibi bir ünlem işareti eklemeniz yeterlidir. Ultralytics paketi kurulduktan sonra, Ultralytics YOLO11 dahil olmak üzere bilgisayarla görme modellerini eğitmek, test etmek ve dışa aktarmak için ihtiyacınız olan tüm araçları sağlar.

Kurulum sırasında veya modelinizi dışa aktarırken herhangi bir sorunla karşılaşırsanız, resmi Ultralytics belgeleri ve Ortak Sorunlar kılavuzu, sorunsuz bir şekilde çalışmanıza yardımcı olacak ayrıntılı sorun giderme adımlarına ve en iyi uygulamalara sahiptir.

Adım 2: Ultralytics YOLO11'i Dışa Aktarma

Ultralytics paketini yükledikten sonra, YOLO11 modelinin bir varyantını yükleyebilir ve ExecuTorch formatına aktarabilirsiniz. Örneğin, "yolo11n.pt" gibi önceden eğitilmiş bir model kullanabilir ve biçimi "executorch" olarak ayarlanmış dışa aktarma işlevini çağırarak dışa aktarabilirsiniz. 

Bu, optimize edilmiş model dosyasını (.pte) ve görüntü boyutu ve sınıf adları gibi önemli ayrıntıları içeren ayrı bir meta veri YAML dosyasını içeren "yolo11n_executorch_model" adlı bir dizin oluşturur.

İşte modelinizi dışa aktarmak için gereken kod:

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="executorch")

Adım 3: Modeli dışa aktardıktan sonra çıkarımları çalıştırma

Dışa aktarıldıktan sonra model, ExecuTorch çalışma zamanı kullanılarak uç ve mobil cihazlara dağıtılmaya hazırdır. Dışa aktarılan .pte model dosyası, bulut bağlantısına ihtiyaç duymadan gerçek zamanlı, cihaz üzerinde çıkarım yapmak için uygulamanıza yüklenebilir.

Örneğin, aşağıdaki kod parçacığı dışa aktarılan modelin nasıl yükleneceğini ve çıkarımın nasıl çalıştırılacağını göstermektedir. Çıkarım basitçe, yeni veriler üzerinde tahminler yapmak için eğitilmiş bir model kullanmak anlamına gelir. Burada model, herkese açık bir URL'den alınan bir otobüs görüntüsü üzerinde test edilmektedir.

executorch_model = YOLO("yolo11n_executorch_model")

results = executorch_model.predict("https://ultralytics.com/images/bus.jpg", save=True)

Kodu çalıştırdıktan sonra, "runs/detect/predict" klasörüne kaydedilen algılanan nesnelerle birlikte çıktı görüntüsünü bulacaksınız. 

Şekil 2. ExecuTorch formatında dışa aktarılmış bir YOLO11 modeli kullanarak nesneleri algılama.

ExecuTorch entegrasyonunu kullanmanın faydaları

Ultralytics tarafından desteklenen farklı dışa aktarma seçeneklerini keşfederken, ExecuTorch entegrasyonunu benzersiz kılan şeyin ne olduğunu merak edebilirsiniz. Temel fark, performans, basitlik ve esnekliği ne kadar iyi bir şekilde birleştirdiğidir ve güçlü AI modellerini doğrudan mobil ve uç cihazlara dağıtmayı kolaylaştırır.

İşte ExecuTorch entegrasyonunu kullanmanın bazı temel avantajlarına bir göz atın:

  • Esnek dağıtım seçenekleri: ExecuTorch modelleri mobil uygulamalara, gömülü sistemlere, IoT (Nesnelerin İnterneti) cihazlarına ve özel uç yapay zeka donanımlarına dağıtılabilir. Bu esneklik, geliştiricilerin farklı platformlarda ve ortamlarda tutarlı bir şekilde performans gösteren ölçeklenebilir yapay zeka çözümleri oluşturmalarını sağlar.
  • Kanıtlanmış performans: Raspberry Pi 5 gibi cihazlarda yapılan testler, ExecuTorch formatına aktarılan YOLO11 modellerinin PyTorch muadillerinden yaklaşık 2 kat daha hızlı çalıştığını ve neredeyse aynı doğrulukta olduğunu gösteriyor.
  • Esnek entegrasyon API'leri: ExecuTorch, iOS, Android ve gömülü Linux için C++, Kotlin ve Objective-C API'leri sağlayarak geliştiricilerin YOLO modellerini doğrudan yerel uygulamalara entegre etmelerine olanak tanır.
  • Donanım hızlandırma desteği: ExecuTorch, OpenCL ve diğer satıcıya özgü API'ler için isteğe bağlı entegrasyon ile mobil GPU'lar için Vulkan ve Metal dahil olmak üzere birden fazla donanım hızlandırma arka ucunu destekler. Ayrıca, yalnızca CPU çıkarımına göre önemli hız artışları elde etmek için NPU'lar ve DSP'ler gibi özel hızlandırıcılardan da yararlanabilir.

YOLO11 ve ExecuTorch dışa aktarımının gerçek dünya uygulamaları

Yakın zamanda Ultralytics, PyTorch ExecuTorch başarı öyküsü olarak tanındı ve cihaz üzerinde çıkarım için erken desteğimizi ve PyTorch ekosistemine devam eden katkılarımızı vurguladı. Bu tanınma, yüksek performanslı yapay zekayı mobil ve uç platformlarda daha erişilebilir hale getirme ortak hedefini yansıtmaktadır.

Buluttan uca: ExecuTorch ve YOLO11 Vision AI'ı nasıl hayata geçiriyor?

Eylemde bu, akıllı telefonlardan gömülü sistemlere kadar her şeyde verimli bir şekilde çalışan gerçek dünya Vision AI çözümlerine benziyor. Örneğin, üretimde uç cihazlar, üretim hatlarının izlenmesinde ve kusurların gerçek zamanlı olarak tespit edilmesinde çok önemli bir rol oynamaktadır.

Şekil 3. Bir üretim montaj hattını analiz etmek için YOLO11 kullanımına bir örnek.(Kaynak)

ExecuTorch entegrasyonu, görüntüleri veya sensör verilerini işlenmek üzere buluta göndermek yerine, ki bu gecikmelere neden olabilir ve internet bağlantısına bağlıdır, YOLO11 modellerinin doğrudan yerel donanım üzerinde çalışmasını sağlar. Bu, fabrikaların kalite sorunlarını anında tespit edebileceği, arıza süresini azaltabileceği ve sınırlı işlem kaynaklarıyla çalışırken veri gizliliğini koruyabileceği anlamına gelir.

İşte ExecuTorch entegrasyonunun ve Ultralytics YOLO modellerinin nasıl uygulanabileceğine dair birkaç örnek:

  • Akıllı şehirler: Şehirler, YOLO11 modellerini ExecuTorch ile yerel olarak çalıştırarak, trafik sıkışıklığını tespit etmekten tehlikeleri belirlemeye, genel hareketliliği ve güvenliği iyileştirmeye kadar daha hızlı, veriye dayalı kararlar alabilir.
  • Perakende ve depolama: Cihaz üzerinde çıkarım ile perakendeciler, bulut bağlantılarına güvenmeden raf izlemeyi otomatikleştirebilir, envanteri takip edebilir ve paketleri hızlı ve güvenli bir şekilde inceleyebilir.
  • Robotik ve dronlar: Edge için optimize edilmiş YOLO11 modelleri, robotların ve drone'ların nesneleri tanımasını, ortamlarda gezinmesini ve internet erişimi olmadan bile gerçek zamanlı kararlar almasını sağlar.

Şekil 4. YOLO11 kullanarak trafikteki arabaları tespit etme ve sayma(Kaynak)

Önemli çıkarımlar

Ultralytics YOLO modellerinin ExecuTorch formatına aktarılması, bilgisayarla görme modellerinin akıllı telefonlar, tabletler ve Raspberry Pi gibi gömülü sistemler dahil olmak üzere birçok cihaza dağıtılmasını kolaylaştırır. Bu, bulut bağlantısına güvenmeden optimize edilmiş, cihaz üzerinde çıkarım yapmanın mümkün olduğu ve hız, gizlilik ve güvenilirliği artırdığı anlamına gelir.

Ultralytics, ExecuTorch ile birlikte TensorRT, OpenVINO, CoreML ve daha fazlası dahil olmak üzere çok çeşitli entegrasyonları destekleyerek geliştiricilere modellerini platformlar arasında çalıştırma esnekliği sağlar. Vision AI'nın benimsenmesi arttıkça, bu entegrasyonlar gerçek dünya koşullarında verimli bir şekilde performans göstermek için oluşturulmuş akıllı sistemlerin dağıtımını basitleştirir.

Yapay zekayı merak mı ediyorsunuz? GitHub depomuza göz atın, topluluğumuza katılın ve Vision AI projenizi başlatmak için lisanslama seçeneklerimizi keşfedin. Çözüm sayfalarımızı ziyaret ederek perakendede yapay zeka ve lojistikte bilgisayarla görme gibi yenilikler hakkında daha fazla bilgi edinin.

Gelin, yapay zekanın geleceğini
birlikte inşa edelim!

Makine öğreniminin geleceği ile yolculuğunuza başlayın

Ücretsiz başlayın
Bağlantı panoya kopyalandı