YOLO26 Modelleri için CoreML Dışa Aktarımı

Bilgisayarlı görü modellerini iPhone ve Mac gibi Apple cihazlarında çalıştırmak, kusursuz performans sağlayan bir format gerektirir.



Watch: How to Export Ultralytics YOLO26 to CoreML for 2x Fast Inference on Apple Devices 🚀

CoreML dışa aktarma formatı, Ultralytics YOLO26 modellerini iOS ve macOS uygulamalarında verimli nesne algılama için optimize etmene olanak tanır. Bu rehberde, modellerini CoreML formatına dönüştürme adımlarını inceleyecek ve modellerinin Apple cihazlarında daha iyi performans göstermesini kolaylaştıracağız.

CoreML

Apple CoreML deployment pipeline

CoreML, Apple'ın Accelerate, BNNS ve Metal Performance Shaders üzerine inşa edilmiş temel makine öğrenimi çerçevesidir. iOS uygulamalarına sorunsuz bir şekilde entegre olan ve görüntü analizi, doğal dil işleme, sesten metne dönüştürme ve ses analizi gibi görevleri destekleyen bir makine öğrenimi model formatı sağlar.

Uygulamalar, Core ML çerçevesi cihaz üzerinde hesaplama yaparak çalıştığı için ağ bağlantısına veya API çağrılarına ihtiyaç duymadan Core ML'den yararlanabilir. Bu, model çıkarımının doğrudan kullanıcının cihazında yerel olarak gerçekleştirilebileceği anlamına gelir.

CoreML Modellerinin Temel Özellikleri

Apple'ın CoreML çerçevesi, cihaz üzerinde makine öğrenimi için güçlü özellikler sunar. İşte CoreML'i geliştiriciler için güçlü bir araç yapan temel özellikler:

  • Kapsamlı Model Desteği: TensorFlow, PyTorch, scikit-learn, XGBoost ve LibSVM gibi popüler çerçevelerden gelen modelleri dönüştürür ve çalıştırır.

CoreML supported deep learning frameworks

  • Cihaz Üzerinde Makine Öğrenimi: Modelleri doğrudan kullanıcının cihazında çalıştırarak veri gizliliğini sağlar ve ağ bağlantısı ihtiyacını ortadan kaldırarak hızlı işlem yapılmasını mümkün kılar.

  • Performans ve Optimizasyon: Minimum güç ve bellek kullanımıyla optimum performans için cihazın CPU, GPU ve Neural Engine birimlerini kullanır. Doğruluktan ödün vermeden model sıkıştırma ve optimizasyon araçları sunar.

  • Kolay Entegrasyon: Çeşitli model türleri için birleşik bir format ve uygulamalara sorunsuz entegrasyon için kullanıcı dostu bir API sağlar. Vision ve Natural Language gibi çerçeveler aracılığıyla alana özgü görevleri destekler.

  • Gelişmiş Özellikler: Kişiselleştirilmiş deneyimler için cihaz üzerinde eğitim yetenekleri, etkileşimli makine öğrenimi deneyimleri için asenkron tahminler ve model inceleme ve doğrulama araçları içerir.

CoreML Dağıtım Seçenekleri

YOLO26 modellerini CoreML formatına aktarmak için gereken koda bakmadan önce, CoreML modellerinin genellikle nerelerde kullanıldığını anlayalım.

CoreML, makine öğrenimi modelleri için aşağıdakiler dahil çeşitli dağıtım seçenekleri sunar:

  • Cihaz Üzerinde Dağıtım: Bu yöntem, CoreML modellerini doğrudan iOS uygulamana entegre eder. Özellikle düşük gecikme süresi, artırılmış gizlilik (veriler cihazda kaldığı için) ve çevrimdışı işlevsellik sağlamak için avantajlıdır. Ancak bu yaklaşım, özellikle daha büyük ve karmaşık modeller için cihazın donanım yetenekleriyle sınırlı olabilir ve şu iki şekilde gerçekleştirilebilir:

    • Gömülü Modeller: Bu modeller uygulama paketine dahil edilir ve anında erişilebilir. Sık güncelleme gerektirmeyen küçük modeller için idealdir.

    • İndirilen Modeller: Bu modeller ihtiyaç duyulduğunda bir sunucudan getirilir. Bu yaklaşım, daha büyük modeller veya düzenli güncellemeler gerektirenler için uygundur. Uygulama paketi boyutunun daha küçük tutulmasına yardımcı olur.

  • Bulut Tabanlı Dağıtım: CoreML modelleri sunucularda barındırılır ve iOS uygulaması tarafından API istekleri aracılığıyla erişilir. Bu ölçeklenebilir ve esnek seçenek, uygulama sürümlerini değiştirmeden kolay model güncellemeleri sağlar. Karmaşık modeller veya düzenli güncellemeler gerektiren büyük ölçekli uygulamalar için idealdir. Ancak, internet bağlantısı gerektirir ve gecikme ile güvenlik sorunları yaratabilir.

YOLO26 Modellerini CoreML'e Aktarma

YOLO26'yı CoreML'e aktarmak, Apple ekosistemi içinde optimize edilmiş, cihaz üzerinde makine öğrenimi performansını mümkün kılar; verimlilik, güvenlik ve iOS, macOS, watchOS ve tvOS platformlarıyla sorunsuz entegrasyon açısından avantajlar sunar.

Kurulum

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

Kurulum
# Install the required package for YOLO26
pip install ultralytics

Kurulum süreciyle ilgili ayrıntılı talimatlar ve en iyi uygulamalar için YOLO26 Kurulum rehberimize göz at. YOLO26 için gerekli paketleri yüklerken herhangi bir zorlukla karşılaşırsan, çözümler ve ipuçları için Yaygın Sorunlar rehberimize başvur.

Kullanım

Kullanım talimatlarına dalmadan önce, Ultralytics tarafından sunulan YOLO26 modellerine göz atmayı unutma. Bu, proje gereksinimlerin için en uygun modeli seçmene yardımcı olacaktır.

Kullanım
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to CoreML format
model.export(format="coreml")  # creates 'yolo26n.mlpackage'

# Load the exported CoreML model
coreml_model = YOLO("yolo26n.mlpackage")

# Run inference
results = coreml_model("https://ultralytics.com/images/bus.jpg")

Dışa Aktarma Argümanları

ArgümanTürVarsayılanAçıklama
formatstr'coreml'Çeşitli dağıtım ortamlarıyla uyumluluğu tanımlayan, dışa aktarılan model için hedef format.
imgszint veya tuple640Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions.
dynamicboolFalseDeğişken görüntü boyutlarını işlemede esnekliği artırarak dinamik giriş boyutlarına izin verir.
halfboolFalseFP16 (yarım hassasiyet) nicelemeyi etkinleştirerek model boyutunu küçültür ve desteklenen donanımlarda çıkarım hızını potansiyel olarak artırır.
int8boolFalseINT8 nicelemeyi etkinleştirerek modeli daha da sıkıştırır ve minimum doğruluk kaybıyla, öncelikle uç cihazlar için çıkarımı hızlandırır.
nmsboolFalseDoğru ve verimli tespit sonrası işleme için gerekli olan Maksimum Olmayan Bastırma (NMS) özelliğini ekler.
batchint1Modelin dışa aktarılan toplu çıkarım boyutunu veya dışa aktarılan modelin predict modunda eşzamanlı olarak işleyeceği maksimum görüntü sayısını belirtir.
devicestrNoneDışa aktarma için cihazı belirtir: GPU (device=0), CPU (device=cpu), Apple silikon için MPS (device=mps).
İpucu

Lütfen CoreML'e dışa aktarırken bir macOS veya x86 Linux makinesi kullandığından emin ol.

Dışa aktarma süreci hakkında daha fazla ayrıntı için dışa aktarma ile ilgili Ultralytics dokümantasyon sayfasını ziyaret et.

Dışa Aktarılan YOLO26 CoreML Modellerini Dağıtma

Ultralytics YOLO26 modellerini CoreML'e başarıyla aktardıktan sonra, bir sonraki kritik aşama bu modelleri etkili bir şekilde dağıtmaktır. CoreML modellerini çeşitli ortamlarda dağıtma konusunda ayrıntılı rehberlik için şu kaynaklara göz at:

  • CoreML Tools: Bu rehber, TensorFlow, PyTorch ve diğer kütüphanelerdeki modelleri Core ML'e dönüştürmek için talimatlar ve örnekler içerir.

  • ML and Vision: CoreML modellerini kullanmanın ve uygulamanın çeşitli yönlerini kapsayan kapsamlı bir video koleksiyonu.

  • Integrating a Core ML Model into Your App: Bir CoreML modelini bir iOS uygulamasına entegre etme konusunda, modelin hazırlanmasından çeşitli işlevler için uygulamada uygulanmasına kadar olan adımları detaylandıran kapsamlı bir rehber.

Özet

Bu rehberde, Ultralytics YOLO26 modellerini CoreML formatına nasıl aktaracağını ele aldık. Bu rehberde belirtilen adımları izleyerek, YOLO26 modellerini CoreML'e aktarırken maksimum uyumluluk ve performans sağlayabilirsin.

Kullanım hakkında daha fazla ayrıntı için CoreML resmi dokümantasyonunu ziyaret et.

Ayrıca, diğer Ultralytics YOLO26 entegrasyonları hakkında daha fazla bilgi edinmek istersen, entegrasyon rehberi sayfamızı ziyaret et. Orada birçok değerli kaynak ve içgörü bulacaksın.

SSS

YOLO26 modellerini CoreML formatına nasıl aktarırım?

Ultralytics YOLO26 modellerini CoreML formatına aktarmak için öncelikle ultralytics paketinin yüklü olduğundan emin olman gerekir. Şunu kullanarak yükleyebilirsin:

Kurulum
pip install ultralytics

Ardından, modeli aşağıdaki Python veya CLI komutlarını kullanarak dışa aktarabilirsin:

Kullanım
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
model.export(format="coreml")

Daha fazla ayrıntı için dokümantasyonumuzun YOLO26 Modellerini CoreML'e Aktarma bölümüne bak.

YOLO26 modellerini dağıtmak için CoreML kullanmanın faydaları nelerdir?

CoreML, Ultralytics YOLO26 modellerini Apple cihazlarında dağıtmak için çok sayıda avantaj sağlar:

  • Cihaz Üzerinde İşleme: Cihazlarda yerel model çıkarımını mümkün kılar, veri gizliliğini sağlar ve gecikmeyi en aza indirir.
  • Performans Optimizasyonu: Cihazın CPU, GPU ve Neural Engine birimlerinin tüm potansiyelinden yararlanarak hızı ve verimliliği optimize eder.
  • Kolay Entegrasyon: iOS, macOS, watchOS ve tvOS dahil olmak üzere Apple ekosistemleriyle sorunsuz bir entegrasyon deneyimi sunar.
  • Çok Yönlülük: CoreML çerçevesini kullanarak görüntü analizi, ses işleme ve doğal dil işleme gibi çok çeşitli makine öğrenimi görevlerini destekler.

CoreML modelini bir iOS uygulamasına entegre etme hakkında daha fazla ayrıntı için Integrating a Core ML Model into Your App rehberine göz at.

CoreML'e aktarılan YOLO26 modelleri için dağıtım seçenekleri nelerdir?

YOLO26 modelini CoreML formatına aktardıktan sonra, birden fazla dağıtım seçeneğine sahipsin:

  1. Cihaz Üzerinde Dağıtım: Artırılmış gizlilik ve çevrimdışı işlevsellik için CoreML modellerini doğrudan uygulamana entegre et. Bu şu şekilde yapılabilir:

    • Gömülü Modeller: Uygulama paketine dahil edilir, anında erişilebilir.
    • İndirilen Modeller: İhtiyaç duyulduğunda bir sunucudan getirilir, uygulama paketi boyutunu daha küçük tutar.
  2. Bulut Tabanlı Dağıtım: CoreML modellerini sunucularda barındır ve onlara API istekleri aracılığıyla eriş. Bu yaklaşım daha kolay güncellemeleri destekler ve daha karmaşık modelleri yönetebilir.

CoreML modellerini dağıtma konusunda ayrıntılı rehberlik için CoreML Dağıtım Seçenekleri kısmına başvur.

CoreML, YOLO26 modelleri için optimize edilmiş performansı nasıl sağlar?

CoreML, Ultralytics YOLO26 modelleri için çeşitli optimizasyon teknikleri kullanarak optimize edilmiş performansı sağlar:

  • Donanım Hızlandırma: Verimli hesaplama için cihazın CPU, GPU ve Neural Engine birimlerini kullanır.
  • Model Sıkıştırma: Doğruluktan ödün vermeden modelleri küçültmek için sıkıştırma araçları sunar.
  • Uyarlanabilir Çıkarım: Hız ve performans arasında bir denge kurmak için çıkarımı cihazın yeteneklerine göre ayarlar.

Performans optimizasyonu hakkında daha fazla bilgi için CoreML resmi dokümantasyonunu ziyaret et.

Dışa aktarılan CoreML modeliyle doğrudan çıkarım yapabilir miyim?

Evet, dışa aktarılan CoreML modelini kullanarak doğrudan çıkarım yapabilirsin. Aşağıda Python ve CLI için komutlar yer almaktadır:

Çıkarım Çalıştırma
from ultralytics import YOLO

coreml_model = YOLO("yolo26n.mlpackage")
results = coreml_model("https://ultralytics.com/images/bus.jpg")

Ek bilgi için CoreML dışa aktarma rehberinin Kullanım bölümüne bak.

Yorumlar