İçeriğe geç

CoreML YOLOv8 Modelleri için Dışa Aktarma

Bilgisayarlı görü modellerini iPhone ve Mac gibi Apple cihazlarına dağıtmak için sorunsuz performans sağlayan bir format gerekir.

CoreML dışa aktarma formatı, aşağıdakileri optimize etmenize olanak tanır Ultralytics YOLOv8 iOS ve macOS uygulamalarında verimli nesne algılama için modeller. Bu kılavuzda, modellerinizi CoreML formatına dönüştürme adımlarında size yol göstererek modellerinizin Apple cihazlarında iyi performans göstermesini kolaylaştıracağız.

CoreML

CoreML Genel Bakış

CoreML Apple'ın Accelerate, BNNS ve Metal Performance Shaders'ı temel alan 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.

Core ML çerçevesi cihaz üzerinde bilgi işlem kullanarak çalıştığı için uygulamalar ağ bağlantısına veya API çağrılarına ihtiyaç duymadan Core ML'den faydalanabilir. Bu, model çıkarımının 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 sunuyor. İşte CoreML 'u geliştiriciler için güçlü bir araç haline getiren temel özellikler:

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

CoreML Desteklenen Modeller

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

  • Performans ve Optimizasyon: Minimum güç ve bellek kullanımı ile optimum performans için cihazın CPU, GPU ve Nöral Motorunu kullanır. Doğruluğu korurken model sıkıştırma ve optimizasyon için 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. Görme ve Doğal Dil 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 eşzamansız tahminler ve model inceleme ve doğrulama araçları içerir.

CoreML Dağıtım Seçenekleri

YOLOv8 modellerini CoreML formatına aktarma koduna bakmadan önce, CoreML modellerinin genellikle nerede kullanıldığını anlayalım.

CoreML dahil olmak üzere makine öğrenimi modelleri için çeşitli dağıtım seçenekleri sunar:

  • Cihaz Üzerinde Dağıtım: Bu yöntem CoreML modellerini doğrudan iOS uygulamanıza 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 daha karmaşık modeller için cihazın donanım özellikleriyle sınırlı olabilir. Cihaz üzerinde dağıtım aşağıdaki iki şekilde gerçekleştirilebilir.

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

    • İndirilen Modeller: Bu modeller gerektiğinde bir sunucudan alınır. Bu yaklaşım, daha büyük modeller veya düzenli güncellemelere ihtiyaç duyanlar 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. Düzenli güncelleme gerektiren karmaşık modeller veya büyük ölçekli uygulamalar için idealdir. Ancak, internet bağlantısı gerektirir ve gecikme ve güvenlik sorunları oluşturabilir.

YOLOv8 Modellerini Dışa Aktarma CoreML

YOLOv8 adresinin CoreML adresine aktarılması, Apple'ın ekosisteminde optimize edilmiş, aygıt üzerinde makine öğrenimi performansı sağlayarak verimlilik, güvenlik ve iOS, macOS, watchOS ve tvOS platformlarıyla sorunsuz entegrasyon açısından avantajlar sunuyor.

Kurulum

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

Kurulum

# Install the required package for YOLOv8
pip install ultralytics

Kurulum süreciyle ilgili ayrıntılı talimatlar ve en iyi uygulamalar için YOLOv8 Kurulum kılavuzumuza göz atın. YOLOv8 için gerekli paketleri yüklerken herhangi bir zorlukla karşılaşırsanız, çözümler ve ipuçları için Ortak Sorunlar kılavuz umuza başvurun.

Kullanım

Kullanım talimatlarına geçmeden önce, Ultralytics tarafından sunulanYOLOv8 model yelpazesine göz attığınızdan emin olun. Bu, proje gereksinimleriniz için en uygun modeli seçmenize yardımcı olacaktır.

Kullanım

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO('yolov8n.pt')

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

# Load the exported CoreML model
coreml_model = YOLO('yolov8n.mlpackage')

# Run inference
results = coreml_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to CoreML format
yolo export model=yolov8n.pt format=coreml  # creates 'yolov8n.mlpackage''

# Run inference with the exported model
yolo predict model=yolov8n.mlpackage source='https://ultralytics.com/images/bus.jpg'

Dışa aktarma işlemi hakkında daha fazla bilgi için, dışa aktarma ile ilgiliUltralytics dokümantasyon sayfasını ziyaret edin.

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

Ultralytics YOLOv8 modellerinizi CoreML adresine 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 bu kaynaklara göz atın:

  • CoreML Araçlar: Bu kılavuz, TensorFlow, PyTorch ve diğer kütüphanelerdeki modelleri Core ML'ye dönüştürmek için talimatlar ve örnekler içerir.

  • Makine Öğrenimi ve Vizyon: CoreML modellerini kullanmanın ve uygulamanın çeşitli yönlerini kapsayan kapsamlı bir video koleksiyonu.

  • Uygulamanıza Temel Makine Öğrenimi Modeli Entegre Etme: Bir CoreML modelinin bir iOS uygulamasına entegre edilmesine ilişkin, modelin hazırlanmasından çeşitli işlevler için uygulamaya uygulanmasına kadar ayrıntılı adımlar içeren kapsamlı bir kılavuz.

Özet

Bu kılavuzda, Ultralytics YOLOv8 modellerinin CoreML formatına nasıl aktarılacağını ele aldık. Bu kılavuzda özetlenen adımları izleyerek, YOLOv8 modellerini CoreML formatına aktarırken maksimum uyumluluk ve performans sağlayabilirsiniz.

Kullanım hakkında daha fazla bilgi için CoreML resmi belgelerini ziyaret edin.

Ayrıca, diğer Ultralytics YOLOv8 entegrasyonları hakkında daha fazla bilgi edinmek isterseniz, entegrasyon kılavuzu sayfamızı ziyaret edin. Orada çok sayıda değerli kaynak ve içgörü bulacaksınız.



Oluşturma 2024-02-07, Güncelleme 2024-03-03
Yazarlar: glenn-jocher (1), RizwanMunawar (1), abirami-vina (1)

Yorumlar