ExecuTorch entegrasyonunu kullanarak Ultralytics YOLO modellerini dağıtın
Ultralytics YOLO11 gibi Ultralytics YOLO11 modellerini, uç ve mobil cihazlarda verimli, PyTorch dağıtım için PyTorch formatına nasıl aktaracağınızı keşfedin.
Ultralytics YOLO11 gibi Ultralytics YOLO11 modellerini, uç ve mobil cihazlarda verimli, PyTorch dağıtım için PyTorch formatına nasıl aktaracağınızı keşfedin.
Otomatik kalite denetimi, otonom dronlar veya akıllı güvenlik sistemleri gibi belirli bilgisayarlı gör ü uygulamaları, Ultralytics YOLO modelleri ile en iyi performansı gösterir. Ultralytics YOLO11görüntüleri yakalayan sensörün yakınında çalışır. Başka bir deyişle, bu modellerin verileri buluta göndermek yerine doğrudan üretildikleri yerde, kameralarda, drone'larda 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. 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 çı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!
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 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 BirimiCPU) çı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.

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.
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ış:
ExecuTorch'un neler sunduğunu daha iyi anladığımıza göre, Ultralytics YOLO modellerini ExecuTorch formatına nasıl aktaracağımızı inceleyelim.
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.
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")
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(ultralytics, save=True)
Kodu çalıştırdıktan sonra, "detect" klasörüne kaydedilen algılanan nesnelerle birlikte çıktı görüntüsünü bulacaksınız.

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:
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.
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.

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 detect 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:

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.