Meet YOLO26: next-gen vision AI.

Link to this sectionYOLO26 Modelleri için CoreML Dışa Aktarma#

Bilgisayarlı görü modellerini iPhone ve Mac gibi Apple cihazlarında dağıtmak, sorunsuz performansı garanti eden 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 kılavuzda, modellerini CoreML formatına dönüştürme adımlarında sana rehberlik edeceğiz, böylece modellerinin Apple cihazlarında daha iyi performans göstermesini kolaylaştıracağız.

Link to this sectionCoreML#

Apple CoreML deployment pipeline

CoreML, Accelerate, BNNS ve Metal Performance Shaders üzerine inşa edilen Apple'ın 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 modeli formatı sağlar.

Uygulamalar, Core ML çerçevesi cihaz üzerinde hesaplama yaparak çalıştığından, 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.

Link to this sectionCoreML Modellerinin Temel Özellikleri#

Apple'ın CoreML çerçevesi, cihaz üzerinde makine öğrenimi için sağlam ö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 yürüterek veri gizliliğini sağlar ve ağ bağlantısı ihtiyacını ortadan kaldırarak hızlı işleme sunar.

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

  • Entegrasyon Kolaylığı: Ç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 özel görevleri destekler.

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

Link to this sectionCoreML Dağıtım Seçenekleri#

YOLO26 modellerini CoreML formatına aktarmak için koda bakmadan önce, CoreML modellerinin genellikle nerede 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. Düşük gecikme süresi, gelişmiş gizlilik (veriler cihazda kaldığı için) ve çevrimdışı işlevsellik sağlamak için özellikle 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 aşağıdaki iki yolla yürütülebilir:

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

    • İndirilen Modeller: Bu modeller gerektiğinde bir sunucudan getirilir. Bu yaklaşım, daha büyük modeller veya düzenli güncellemeler gerektiren modeller 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 revizyonları olmadan 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 ve güvenlik sorunları yaratabilir.

Link to this sectionYOLO26 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 faydalar sunar.

Link to this sectionKurulum#

Gerekli paketi kurmak 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 kılavuzumuza göz at. YOLO26 için gerekli paketleri yüklerken herhangi bir zorlukla karşılaşırsan, çözümler ve ipuçları için Genel Sorunlar kılavuzumuza bak.

Link to this sectionKullanım#

Before diving into the usage instructions, be sure to check out the range of YOLO26 models offered by Ultralytics. This will help you choose the most appropriate model for your project requirements.

CoreML formatı; Dışa Aktar, Tahmin Et ve Doğrula modlarını destekler. CoreML ile çıkarım ve doğrulama yalnızca macOS üzerinde çalışır. Modelini dışa aktar, ardından çıkarım yapmak veya doğruluğunu onaylamak için dışa aktarılan modeli yükle.

Dışa Aktarma (Export)
from ultralytics import YOLO

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

# Export the model to CoreML format
model.export(format="coreml")  # creates 'yolo26n.mlpackage'
Tahmin Etme (Predict)
from ultralytics import YOLO

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

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Doğrula
from ultralytics import YOLO

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

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this sectionDışa Aktarma Argümanları#

ArgümanTürVarsayılanAçıklama
formatstr'coreml'Dışa aktarılan model için hedef format, çeşitli dağıtım ortamlarıyla uyumluluğu tanımlar.
imgszint veya tuple640Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions.
dynamicboolFalseFarklı görüntü boyutlarını işlemede esnekliği artırarak dinamik giriş boyutlarına izin verir.
halfboolFalseFP16 (yarı hassasiyetli) nicemlemeyi etkinleştirerek model boyutunu küçültür ve desteklenen donanımda çıkarımı hızlandırabilir.
int8boolFalseINT8 nicemlemeyi etkinleştirir, 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 algılama sonrası işleme için gerekli olan Maksimum Olmayan Bastırma (NMS) ekler.
batchint1Dışa aktarma modeli toplu çıkarım boyutunu veya dışa aktarılan modelin predict modunda aynı anda 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 silikonu 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 hakkındaki Ultralytics dokümantasyon sayfasını ziyaret et.

Link to this sectionDışa Aktarılan YOLO26 CoreML Modellerini Dağıtma#

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

  • CoreML Tools: Bu kılavuz, modelleri TensorFlow, PyTorch ve diğer kütüphanelerden 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.

  • Core ML Modelini Uygulamanıza Entegre Etme: Bir CoreML modelini iOS uygulamasına entegre etmeye yönelik kapsamlı bir kılavuz, modeli hazırlamaktan çeşitli işlevler için uygulamada uygulamaya kadar olan adımları detaylandırır.

Link to this sectionÖzet#

Bu kılavuzda, Ultralytics YOLO26 modellerini CoreML formatına nasıl aktaracağımızı ele aldık. Bu kılavuzda 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 istiyorsan, entegrasyon kılavuzu sayfamızı ziyaret et. Orada birçok değerli kaynak ve bilgi bulacaksın.

Link to this sectionSSS#

Link to this sectionYOLO26 modellerini CoreML formatına nasıl aktarırım?#

Ultralytics YOLO26 modellerini CoreML formatına aktarmak için önce ultralytics paketinin kurulu olduğundan emin olman gerekir. Şunu kullanarak kurabilirsin:

Kurulum
pip install ultralytics

Ardından, aşağıdaki Python veya CLI komutlarını kullanarak modeli 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.

Link to this sectionYOLO26 modellerini dağıtmak için CoreML kullanmanın faydaları nelerdir?#

CoreML, Ultralytics YOLO26 modellerini Apple cihazlarında dağıtmak için sayısız 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 hem hızı hem de verimliliği optimize eder.
  • Entegrasyon Kolaylığı: 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 Core ML Modelini Uygulamanıza Entegre Etme kılavuzuna göz at.

Link to this sectionCoreML'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 sahip olursun:

  1. Cihaz Üzerinde Dağıtım: Gelişmiş 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, hemen erişilebilir.
    • İndirilen Modeller: Gerektiğinde bir sunucudan getirilir, uygulama paket 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 işleyebilir.

CoreML modellerini dağıtma hakkında ayrıntılı rehberlik için CoreML Dağıtım Seçenekleri bölümüne bak.

Link to this sectionCoreML, YOLO26 modelleri için nasıl optimize edilmiş performans sağlar?#

CoreML, çeşitli optimizasyon tekniklerinden yararlanarak Ultralytics YOLO26 modelleri için 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 modelleri sıkıştırma araçları sağlar.
  • Uyarlanabilir Çıkarım: Hız ve performans arasında bir denge sağlamak için cihazın yeteneklerine göre çıkarımı ayarlar.

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

Link to this sectionDışa aktarılan CoreML modeliyle doğrudan çıkarım çalıştırabilir miyim?#

Evet, dışa aktarılan CoreML modelini kullanarak doğrudan çıkarım çalıştırabilirsin. İşte Python ve CLI için komutlar:

Çı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 kılavuzunun Kullanım bölümüne bak.

Yorumlar