ExecuTorch entegrasyonunu kullanarak Ultralytics YOLO modellerini dağıt
Ultralytics YOLO11 gibi Ultralytics YOLO modellerini, uç ve mobil cihazlarda verimli, PyTorch tabanlı dağıtım için ExecuTorch biçimine nasıl aktaracağını keşfet.

Otomatik kalite denetimi, otonom dronlar veya akıllı güvenlik sistemleri gibi belirli bilgisayarlı görü 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 üretildiği yerde, yani kameralarda, dronlarda veya gömülü sistemlerde işlemesi gerekir.
Uç yapay zekâ olarak bilinen bu yaklaşım, modellerin çıkarımı verilerin yakalandığı cihazda doğrudan gerçekleştirmesini sağlar. Bilgileri uzak sunuculara güvenmek yerine yerel olarak işleyen sistemler, internet bağlantısının sınırlı olduğu veya hiç bulunmadığı ortamlarda bile daha düşük gecikme, gelişmiş veri gizliliği ve daha yüksek güvenilirlik elde edebilir.
Örneğin, her dakika binlerce ürünü denetleyen bir üretim kamerası veya karmaşık ortamlarda yol alan bir drone, bulut işlemeyle ortaya çıkan gecikmeleri karşılayamaz. Ultralytics YOLO11'i doğrudan cihazda çalıştırmak, anında cihaz üzerinde çıkarım yapılmasını sağlar.
Ultralytics tarafından desteklenen yeni ExecuTorch entegrasyonu, Ultralytics YOLO modellerini uçta çalıştırmayı daha kolay ve verimli hâle getirmek için modelleri doğrudan mobil ve gömülü cihazlara aktarmanın ve dağıtmanın kolaylaştırılmış bir yolunu sunar. ExecuTorch, PyTorch Edge ekosisteminin bir parçasıdır ve telefonlar, giyilebilir cihazlar, gömülü kartlar ve mikrodenetleyiciler dâhil olmak üzere yapay zekâ modellerini doğrudan mobil ve uç donanımlarda çalıştırmak için uçtan uca bir çözüm sağlar.
Bu entegrasyon, YOLO11 gibi bir Ultralytics YOLO modelini eğitimden uç cihazlarda dağıtıma taşımayı kolaylaştırır. YOLO11'in görü yeteneklerini ExecuTorch'un hafif çalışma zamanı ve PyTorch dışa aktarma işlem hattıyla birleştiren kullanıcılar, PyTorch tabanlı çıkarımın doğruluğunu ve performansını korurken uç donanımlarda verimli çalışan modeller dağıtabilir.
Bu makalede ExecuTorch entegrasyonunun nasıl çalıştığına, uç yapay zekâ uygulamaları için neden uygun olduğuna ve Ultralytics YOLO modellerini ExecuTorch ile dağıtmaya nasıl başlayabileceğine yakından bakacağız. Hadi başlayalım!
ExecuTorch nedir?#
Genellikle PyTorch'ta bir model eğittiğinde, model buluttaki güçlü sunucularda veya Grafik İşlem Birimlerinde (GPU'lar) çalışır. Ancak aynı modeli akıllı telefon, drone veya mikrodenetleyici gibi bir mobil ya da gömülü cihaza dağıtmak; sınırlı işlem gücü, bellek ve bağlantıyla başa çıkabilecek özel bir çözüm gerektirir.
ExecuTorch tam olarak bu ihtiyacı karşılar. ExecuTorch, PyTorch Edge ekosisteminin bir parçası olarak geliştirilen ve mobil, gömülü ve uç platformlarda verimli cihaz üzerinde çıkarım yapılmasını sağlayan uçtan uca bir çözümdür. PyTorch'un yeteneklerini bulutun ötesine taşıyarak yapay zekâ modellerinin doğrudan yerel cihazlarda çalışmasını sağlar.
PyTorch çıkarımını uca taşımak#
ExecuTorch özünde, PyTorch modellerinin doğrudan cihazda çalıştırılmasını sağlayan hafif bir C++ çalışma zamanı sunar. ExecuTorch, daha hızlı yükleme, daha küçük bellek ayak izi ve gelişmiş taşınabilirlik için tasarlanmış optimize bir dışa aktarma biçimi olan PyTorch ExecuTorch (.pte) model biçimini kullanır.
Verimli Merkezi İşlem Birimi (CPU) çıkarımı için varsayılan arka uç olarak XNNPACK'i destekler ve CoreML, Metal, Vulkan, Qualcomm, MediaTek, Arm EthosU, OpenVINO ve diğerleri dâhil çok çeşitli donanım arka uçlarıyla uyumluluğu genişletir.
Bu arka uçlar, mobil, gömülü ve özel uç cihazlarda optimize hızlandırma sağlar. ExecuTorch ayrıca PyTorch dışa aktarma işlem hattıyla entegre olarak performansı ve farklı dağıtım ortamlarına uyarlanabilirliği artırmak için niceleme ve dinamik şekil işleme gibi gelişmiş özellikleri destekler.
Niceleme, yüksek hassasiyetli değerleri (32 bit kayan noktalı sayılar gibi) daha düşük hassasiyetli değerlere dönüştürerek model boyutunu küçültür ve çıkarım hızını artırır; dinamik şekil işleme ise modellerin değişken giriş boyutlarını verimli şekilde işlemesini sağlar. Her iki özellik de kaynakları sınırlı uç cihazlarda yapay zekâ modellerini çalıştırmak için kritik öneme sahiptir.

Şekil 1. ExecuTorch'un nasıl çalıştığına genel bakış (Kaynak)
Uç donanım için birleşik katman#
ExecuTorch, çalışma zamanının ötesinde, birden fazla donanım arka ucu için birleşik bir soyutlama katmanı olarak da görev yapar. Basitçe ifade etmek gerekirse donanıma özgü ayrıntıları soyutlar ve modellerin CPU'lar, GPU'lar ve Sinirsel İşlem Birimleri (NPU'lar) dâhil 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, cihaza özel kod yazmadan veya ayrı dönüştürme iş akışlarını sürdürmeden modelleri çeşitli donanımlarda verimli şekilde dağıtabilir.
Modüler, taşınabilir tasarımı ve sorunsuz PyTorch entegrasyonu sayesinde ExecuTorch, Ultralytics YOLO11 gibi bilgisayarlı görü modellerini mobil ve gömülü sistemlere dağıtmak için harika bir seçenektir. Model eğitimi ile gerçek dünya dağıtımı arasındaki boşluğu kapatarak uç yapay zekâyı daha hızlı, daha verimli ve uygulaması daha kolay hâle getirir.
ExecuTorch'un temel özellikleri#
Ultralytics YOLO modellerini ExecuTorch biçimine nasıl aktaracağımıza bakmadan önce, ExecuTorch'u uçta yapay zekâ dağıtımı için güvenilir bir seçenek yapan özellikleri inceleyelim.
İşte temel özelliklerinden bazılarına kısa bir bakış:
- Niceleme desteği: ExecuTorch, model boyutunu küçültmek 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 nicelemesini destekler. Bu, modellerin doğruluk düzeyini neredeyse korurken uç cihazlarda daha hızlı çalışmasına ve daha az bellek kullanmasına yardımcı olur.
- Belleğin verimli kullanımı: ExecuTorch'un en büyük avantajlarından biri belleği nasıl yönettiğidir. Gecikmeye ve güç tüketimi ek yüküne yol açabilen dinamik bellek ayırmaya güvenmek yerine ExecuTorch, Önceden Bellek Planlama (AOT) yöntemini kullanır. Dışa aktarma sırasında model grafiğini analiz eder ve her işlem için gereken bellek miktarını önceden hesaplar. Bu sayede çalışma zamanı modelleri statik bir bellek planı kullanarak çalıştırabilir; böylece öngörülebilir performans sağlanır ve RAM'i veya işlem kapasitesi sınırlı cihazlarda yavaşlamalar ya da çökmeler önlenir.
- Yerleşik model meta verileri: Ultralytics tarafından desteklenen entegrasyon kullanılarak dışa aktarım yapıldığında her model; giriş görüntüsü boyutu, sınıf adları ve yapılandırma parametreleri gibi önemli meta verileri içeren bir YAML dosyası barındırır. Bu ek dosya, modelin çeşitli uygulamalara entegrasyonunu kolaylaştırır ve farklı uç platformlar arasında tutarlı davranış sağlar.
Ultralytics YOLO modelleri ExecuTorch biçimine nasıl aktarılır?#
Artık ExecuTorch'un sunduklarını daha iyi anladığımıza göre, Ultralytics YOLO modellerini ExecuTorch biçimine nasıl aktaracağını adım adım inceleyelim.
Adım: Ultralytics Python paketini yükleme#
Başlamak için, paket yükleyicisi olan pip'i kullanarak Ultralytics Python paketini yüklemen gerekir. Bunu terminalinde veya komut isteminde “pip install ultralytics” komutunu çalıştırarak yapabilirsin.
Bir Jupyter Notebook veya Google Colab ortamında çalışıyorsan komutun önüne "!pip install ultralytics" örneğinde olduğu gibi bir ünlem işareti eklemen yeterlidir. Yüklendikten sonra Ultralytics paketi, Ultralytics YOLO11 dâhil bilgisayarlı görü modellerini eğitmek, test etmek ve dışa aktarmak için ihtiyacın olan tüm araçları sağlar.
Yükleme sırasında veya modelini dışa aktarırken herhangi bir sorunla karşılaşırsan resmi Ultralytics belgelerinde ve Yaygın Sorunlar kılavuzunda sorunsuz şekilde çalışmaya başlamana yardımcı olacak ayrıntılı sorun giderme adımları ve en iyi uygulamalar bulunur.
Adım: Ultralytics YOLO11'i aktarma#
Ultralytics paketini yükledikten sonra YOLO11 modelinin bir varyantını yükleyebilir ve dışa aktarabilirsin. Örneğin “yolo11n.pt” gibi önceden eğitilmiş bir model kullanabilir ve biçimi “executorch” olarak ayarlayarak export işlevini çağırıp dışa aktarabilirsin.
Bu işlem, optimize model dosyasını (.pte) ve görüntü boyutu ile sınıf adları gibi önemli ayrıntıları içeren ayrı bir meta veri YAML dosyasını barındıran “yolo11n_executorch_model” adlı bir dizin oluşturur.
Modelini dışa aktarmak için kullanacağın kod:
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="executorch")Adım: Modeli dışa aktardıktan sonra çıkarım çalıştırma#
Dışa aktarıldıktan sonra model, ExecuTorch çalışma zamanını kullanarak 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 çalıştırmak için uygulamana 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österir. Çıkarım, basitçe eğitilmiş bir modelin yeni veriler üzerinde tahmin yapmak için kullanılmasıdır. Burada model, herkese açık bir URL'den alınan otobüs görüntüsü üzerinde test edilir.
executorch_model = YOLO("yolo11n_executorch_model")
results = executorch_model.predict("https://ultralytics.com/images/bus.jpg", save=True)Kodu çalıştırdıktan sonra, algılanan nesnelerin bulunduğu çıktı görüntüsünü “runs/detect/predict” klasörüne kaydedilmiş olarak bulabilirsin.

Şekil 2. ExecuTorch biçiminde dışa aktarılan bir Ultralytics YOLO11 modeliyle nesne algılama.
ExecuTorch entegrasyonunu kullanmanın avantajları#
Ultralytics tarafından desteklenen farklı dışa aktarma seçeneklerini incelerken ExecuTorch entegrasyonunu özel kılan şeyin ne olduğunu merak edebilirsin. Temel fark, performansı, basitliği ve esnekliği ne kadar iyi birleştirdiğidir; bu da güçlü yapay zekâ modellerini doğrudan mobil ve uç cihazlara dağıtmayı kolaylaştırır.
ExecuTorch entegrasyonunu kullanmanın temel avantajlarından bazıları şunlardır:
- Esnek dağıtım seçenekleri: ExecuTorch modelleri mobil uygulamalara, gömülü sistemlere, IoT (Nesnelerin İnterneti) cihazlarına ve özel uç yapay zekâ donanımlarına dağıtılabilir. Bu esneklik, geliştiricilerin çeşitli platform ve ortamlarda tutarlı performans gösteren ölçeklenebilir yapay zekâ çözümleri oluşturmasını sağlar.
- Karşılaştırma testleriyle kanıtlanmış performans: Raspberry Pi 5 gibi cihazlarda yapılan testler, ExecuTorch biçimine aktarılan Ultralytics YOLO11 modellerinin neredeyse aynı doğrulukla PyTorch karşılıklarından yaklaşık 2 kat daha hızlı çalıştığını gösterir.
- Esnek entegrasyon API'leri: ExecuTorch, iOS, Android ve gömülü Linux için C++, Kotlin ve Objective-C API'leri sunarak geliştiricilerin YOLO modellerini doğrudan yerel uygulamalara entegre etmesini sağlar.
- Donanım hızlandırma desteği: ExecuTorch, mobil GPU'lar için Vulkan ve Metal dâhil olmak üzere birden fazla donanım hızlandırma arka ucunu ve OpenCL ile diğer tedarikçiye özgü API'ler için isteğe bağlı entegrasyonu destekler. Ayrıca yalnızca CPU ile yapılan çıkarıma kıyasla önemli hız artışları elde etmek için NPU'lar ve DSP'ler gibi özel hızlandırıcılardan yararlanabilir.
Ultralytics YOLO11 ve ExecuTorch dışa aktarımının gerçek dünya uygulamaları#
Yakın zamanda Ultralytics, cihaz üzerinde çıkarıma yönelik erken desteğimizi ve PyTorch ekosistemine devam eden katkılarımızı öne çıkaran bir PyTorch ExecuTorch başarı öyküsü olarak tanındı. Bu takdir, yüksek performanslı yapay zekâyı mobil ve uç platformlarda daha erişilebilir hâle getirme yönündeki ortak hedefi yansıtır.
Buluttan uca: ExecuTorch ve Ultralytics YOLO11 görü yapay zekâsını nasıl hayata geçiriyor?#
Uygulamada bu, akıllı telefonlardan gömülü sistemlere kadar her şeyde verimli şekilde çalışan gerçek dünya görü yapay zekâ çözümleri anlamına gelir. Örneğin üretimde uç cihazlar, üretim hatlarını izleme ve kusurları gerçek zamanlı olarak algılamada kritik bir rol oynar.

Şekil 3. Bir üretim montaj hattını analiz etmek için Ultralytics YOLO11 kullanımına bir örnek. (Kaynak)
Görüntüleri veya sensör verilerini gecikmelere yol açabilen ve internet bağlantısına bağlı olan işleme için buluta göndermek yerine ExecuTorch entegrasyonu, Ultralytics YOLO11 modellerinin doğrudan yerel donanımda çalışmasını sağlar. Bu, fabrikaların kalite sorunlarını anında algılayabilmesi, duruş süresini azaltabilmesi ve tüm bunları sınırlı işlem kaynaklarıyla çalışırken veri gizliliğini koruyabilmesi anlamına gelir.
ExecuTorch entegrasyonunun ve Ultralytics YOLO modellerinin nasıl uygulanabileceğine dair birkaç örnek daha:
- Akıllı şehirler: Şehirler, Ultralytics YOLO11 modellerini ExecuTorch ile yerel olarak çalıştırarak trafik sıkışıklıklarını algılamaktan tehlikeleri belirlemeye kadar daha hızlı, veriye dayalı kararlar alabilir ve genel hareketlilik ile güvenliği iyileştirebilir.
- Perakende ve depolama: Cihaz üzerinde çıkarım sayesinde perakendeciler, bulut bağlantılarına güvenmeden rafları izlemeyi otomatikleştirebilir, envanteri takip edebilir ve paketleri hızlı ve güvenli şekilde denetleyebilir.
- Robotik ve dronlar: Uç için optimize edilmiş Ultralytics YOLO11 modelleri, robotların ve dronların internet erişimi olmadan bile nesneleri tanımasını, ortamlarda yol almasını ve gerçek zamanlı kararlar vermesini sağlar.

Şekil 4. YOLO11 kullanarak trafikteki araçları algılama ve sayma (Kaynak)
Önemli çıkarımlar#
Ultralytics YOLO modellerini ExecuTorch biçimine aktarmak, bilgisayarlı görü modellerini akıllı telefonlar, tabletler ve Raspberry Pi gibi gömülü sistemler dâhil birçok cihaza dağıtmayı kolaylaştırır. Bu, bulut bağlantısına güvenmeden optimize edilmiş cihaz üzerinde çıkarım çalıştırmanın mümkün olduğu ve hızın, gizliliğin ve güvenilirliğin iyileştirildiği anlamına gelir.
Ultralytics, ExecuTorch'un yanı sıra TensorRT, OpenVINO, CoreML ve daha fazlası dâhil çok çeşitli entegrasyonları destekleyerek geliştiricilere modellerini farklı platformlarda çalıştırma esnekliği sunar. Görü yapay zekâsının benimsenmesi arttıkça bu entegrasyonlar, gerçek dünya koşullarında verimli çalışmak üzere oluşturulmuş akıllı sistemlerin dağıtımını kolaylaştırır.
Yapay zekâyı mı merak ediyorsun? Görü yapay zekâsı projene başlamak için GitHub depomuza göz at, topluluğumuza katıl ve lisanslama seçeneklerimizi incele. Perakendede yapay zekâ ve lojistikte bilgisayarlı görü gibi yenilikler hakkında daha fazla bilgi edinmek için çözüm sayfalarımızı ziyaret et.









