コンテンツへスキップ

CoreML Export for YOLO11 Models

Deploying computer vision models on Apple devices like iPhones and Macs requires a format that ensures seamless performance.

The CoreML export format allows you to optimize your Ultralytics YOLO11 models for efficient object detection in iOS and macOS applications. In this guide, we'll walk you through the steps for converting your models to the CoreML format, making it easier for your models to perform well on Apple devices.

CoreML

CoreML 概要

CoreML is Apple's foundational machine learning framework that builds upon Accelerate, BNNS, and Metal Performance Shaders. It provides a machine-learning model format that seamlessly integrates into iOS applications and supports tasks such as image analysis, natural language processing, audio-to-text conversion, and sound analysis.

Core MLフレームワークはオンデバイス・コンピューティングで動作するため、アプリケーションはネットワーク接続やAPIコールを必要とせずにCore MLを利用できる。これは、モデルの推論がユーザーのデバイス上でローカルに実行できることを意味する。

CoreML モデルの主な特徴

AppleのCoreML フレームワークは、オンデバイス機械学習のための堅牢な機能を提供する。ここでは、CoreML を開発者にとって強力なツールにしている主な機能を紹介する:

  • Comprehensive Model Support: Converts and runs models from popular frameworks like TensorFlow, PyTorch, scikit-learn, XGBoost, and LibSVM.

CoreML 対応モデル

  • On-device Machine Learning: Ensures data privacy and swift processing by executing models directly on the user's device, eliminating the need for network connectivity.

  • Performance and Optimization: Uses the device's CPU, GPU, and Neural Engine for optimal performance with minimal power and memory usage. Offers tools for model compression and optimization while maintaining accuracy.

  • 統合の容易さ:様々なモデルタイプのための統一フォーマットと、アプリへのシームレスな統合のためのユーザーフレンドリーなAPIを提供します。ビジョンや自然言語などのフレームワークを通じて、ドメイン固有のタスクをサポートします。

  • 高度な機能:パーソナライズされた体験のためのオンデバイス・トレーニング機能、インタラクティブなML体験のための非同期予測、モデル検査・検証ツールを含む。

CoreML 配備オプション

Before we look at the code for exporting YOLO11 models to the CoreML format, let's understand where CoreML models are usually used.

CoreML は、機械学習モデルのさまざまな導入オプションを提供している:

  • オンデバイス・デプロイメント:この方法では、CoreML モデルをiOS アプリに直接統合します。低レイテンシー、プライバシーの強化(データがデバイスに残るため)、オフライン機能の確保に特に有利です。しかし、この方法は、特に大きく複雑なモデルの場合、デバイスのハードウェア機能によって制限される可能性があります。オンデバイスデプロイメントは、以下の2つの方法で実行できる。

    • 組み込みモデル:これらのモデルはアプリのバンドルに含まれており、すぐにアクセスできます。頻繁なアップデートを必要としない小規模なモデルに最適です。

    • ダウンロードされたモデル:これらのモデルは、必要に応じてサーバーから取得されます。この方法は、大きなモデルや定期的なアップデートが必要なモデルに適しています。アプリのバンドルサイズを小さく保つことができます。

  • クラウドベースのデプロイメント:CoreML モデルはサーバー上でホストされ、API リクエストを通じてiOS アプリからアクセスされます。このスケーラブルで柔軟なオプションは、アプリを修正することなくモデルを簡単に更新できます。複雑なモデルや定期的なアップデートが必要な大規模アプリに最適です。ただし、インターネット接続が必要であり、遅延やセキュリティの問題が発生する可能性があります。

Exporting YOLO11 Models to CoreML

Exporting YOLO11 to CoreML enables optimized, on-device machine learning performance within Apple's ecosystem, offering benefits in terms of efficiency, security, and seamless integration with iOS, macOS, watchOS, and tvOS platforms.

インストール

必要なパッケージをインストールするには、以下を実行する:

インストール

# Install the required package for YOLO11
pip install ultralytics

For detailed instructions and best practices related to the installation process, check our YOLO11 Installation guide. While installing the required packages for YOLO11, if you encounter any difficulties, consult our Common Issues guide for solutions and tips.

使用方法

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

使用方法

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

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

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

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

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

エクスポートプロセスの詳細については、Ultralytics ドキュメントのエクスポートに関するページをご覧ください。

Deploying Exported YOLO11 CoreML Models

Having successfully exported your Ultralytics YOLO11 models to CoreML, the next critical phase is deploying these models effectively. For detailed guidance on deploying CoreML models in various environments, check out these resources:

  • CoreML Tools: This guide includes instructions and examples to convert models from TensorFlow, PyTorch, and other libraries to Core ML.

  • MLとビジョン:CoreML モデルの使用と実装の様々な側面をカバーする包括的なビデオのコレクション。

  • コアMLモデルをアプリに統合する:CoreML モデルをiOS アプリケーションに統合するための包括的なガイドで、モデルの準備から様々な機能のためのアプリへの実装までの手順を詳しく説明しています。

概要

In this guide, we went over how to export Ultralytics YOLO11 models to CoreML format. By following the steps outlined in this guide, you can ensure maximum compatibility and performance when exporting YOLO11 models to CoreML.

使い方の詳細については、CoreML 公式ドキュメントをご覧ください。

Also, if you'd like to know more about other Ultralytics YOLO11 integrations, visit our integration guide page. You'll find plenty of valuable resources and insights there.

よくあるご質問

How do I export YOLO11 models to CoreML format?

をエクスポートするには Ultralytics YOLO11 モデルをCoreML フォーマットに変換するには、最初に ultralytics パッケージがインストールされています。インストールには

インストール

pip install ultralytics

次に、以下のPython またはCLI コマンドを使ってモデルをエクスポートします:

使用方法

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
model.export(format="coreml")
yolo export model=yolo11n.pt format=coreml

For further details, refer to the Exporting YOLO11 Models to CoreML section of our documentation.

What are the benefits of using CoreML for deploying YOLO11 models?

CoreML provides numerous advantages for deploying Ultralytics YOLO11 models on Apple devices:

  • On-device Processing: Enables local model inference on devices, ensuring data privacy and minimizing latency.
  • パフォーマンスの最適化:デバイスのCPU 、GPU 、Neural Engineの可能性を最大限に活用し、スピードと効率の両方を最適化します。
  • 統合の容易さ:iOS 、macOS、watchOS、tvOSを含むAppleのエコシステムとのシームレスな統合体験を提供します。
  • 汎用性:CoreML フレームワークを使用して、画像解析、音声処理、自然言語処理などの幅広い機械学習タスクをサポート。

CoreML モデルのiOS アプリへの統合の詳細については、コア ML モデルのアプリへの統合に関するガイドをご覧ください。

What are the deployment options for YOLO11 models exported to CoreML?

Once you export your YOLO11 model to CoreML format, you have multiple deployment options:

  1. オンデバイスでの展開:CoreML モデルをアプリに直接統合し、プライバシーとオフライン機能を強化します。これは次のように行うことができます:

    • 組み込みモデル:アプリのバンドルに含まれ、すぐにアクセスできます。
    • ダウンロードされたモデル:必要に応じてサーバーから取得し、アプリバンドルサイズを小さく保ちます。
  2. クラウドベースの展開:CoreML 、サーバー上でモデルをホストし、APIリクエストを通じてアクセスする。このアプローチは、より簡単なアップデートをサポートし、より複雑なモデルを扱うことができます。

CoreML モデルの展開に関する詳しいガイダンスについては、CoreML 展開オプションを参照してください。

How does CoreML ensure optimized performance for YOLO11 models?

CoreML ensures optimized performance for Ultralytics YOLO11 models by utilizing various optimization techniques:

  • ハードウェア・アクセラレーション:デバイスのCPU 、GPU 、およびニューラル・エンジンを使用して効率的な計算を行います。
  • モデルの圧縮:精度を損なうことなくモデルのフットプリントを縮小するための圧縮ツールを提供します。
  • 適応型推論:デバイスの能力に基づいて推論を調整し、スピードとパフォーマンスのバランスを保つ。

パフォーマンス最適化の詳細については、CoreML 公式ドキュメントをご覧ください。

エクスポートされたCoreML モデルを使って直接推論を実行できますか?

はい、エクスポートされたCoreML モデルを使って直接推論を実行することができます。以下は、Python とCLI のコマンドです:

ランニング推論

from ultralytics import YOLO

coreml_model = YOLO("yolo11n.mlpackage")
results = coreml_model("https://ultralytics.com/images/bus.jpg")
yolo predict model=yolo11n.mlpackage source='https://ultralytics.com/images/bus.jpg'

詳細については、CoreML エクスポート・ガイドの「使用法」を参照。


📅 Created 8 months ago ✏️ Updated 12 days ago

コメント