CoreML YOLO11 モデルのエクスポート
iPhoneやMacのようなAppleデバイスにコンピュータビジョンモデルを展開するには、シームレスなパフォーマンスを保証するフォーマットが必要です。
CoreML エクスポートフォーマットにより、モデルを最適化できます。 Ultralytics YOLO11iOS モデルを最適化することができます。このガイドでは、モデルをCoreML フォーマットに変換する手順を説明し、Apple デバイスでモデルがより簡単に動作するようにします。
CoreML
CoreMLは、Accelerate、BNNS、Metal Performance Shadersを基盤とするAppleの基礎的な機械学習フレームワークです。iOS アプリケーションにシームレスに統合できる機械学習モデルフォーマットを提供し、画像解析、自然言語処理、音声テキスト変換、サウンド解析などのタスクをサポートします。
Core MLフレームワークはオンデバイス・コンピューティングで動作するため、アプリケーションはネットワーク接続やAPIコールを必要とせずにCore MLを利用できる。これは、モデルの推論をユーザーのデバイス上でローカルに実行できることを意味する。
CoreML モデルの主な特徴
AppleのCoreML フレームワークは、オンデバイス機械学習のための堅牢な機能を提供する。ここでは、CoreML を開発者にとって強力なツールにしている主な機能を紹介する:
- 包括的なモデルサポート:TensorFlow 、 PyTorchscikit-learn、XGBoost、LibSVM などの一般的なフレームワークからモデルを変換して実行します。
-
オンデバイス機械学習:ネットワーク接続の必要性を排除し、ユーザーのデバイス上で直接モデルを実行することで、データのプライバシーと迅速な処理を保証します。
-
パフォーマンスと最適化:デバイスのCPU,GPU, Neural Engine を使用し、最小限の電力とメモリ使用で最適なパフォーマンスを実現します。精度を維持しながらモデル圧縮と最適化を行うツールを提供。
-
統合の容易さ:様々なモデルタイプのための統一フォーマットと、アプリへのシームレスな統合のためのユーザーフレンドリーなAPIを提供します。ビジョンや自然言語などのフレームワークを通じて、ドメイン固有のタスクをサポートします。
-
高度な機能:パーソナライズされた体験のためのオンデバイス・トレーニング機能、インタラクティブなML体験のための非同期予測、モデル検査・検証ツールを含む。
CoreML 配備オプション
YOLO11 モデルをCoreML フォーマットにエクスポートするコードを見る前に、CoreML モデルが通常どこで使われるのかを理解しよう。
CoreML は、機械学習モデルのさまざまな導入オプションを提供している:
-
オンデバイス・デプロイメント:この方法では、CoreML モデルをiOS アプリに直接統合します。低レイテンシー、プライバシーの強化(データがデバイスに残るため)、オフライン機能の確保に特に有利です。しかし、この方法は、特に大きく複雑なモデルの場合、デバイスのハードウェア機能によって制限される可能性があります。オンデバイスデプロイメントは、以下の2つの方法で実行できる。
-
組み込みモデル:これらのモデルはアプリのバンドルに含まれており、すぐにアクセスできます。頻繁なアップデートを必要としない小規模なモデルに最適です。
-
ダウンロードされたモデル:これらのモデルは、必要に応じてサーバーから取得されます。この方法は、大きなモデルや定期的なアップデートが必要なモデルに適しています。アプリのバンドルサイズを小さく保つことができます。
-
-
クラウドベースのデプロイメント:CoreML モデルはサーバー上でホストされ、API リクエストを通じてiOS アプリからアクセスされます。このスケーラブルで柔軟なオプションは、アプリを修正することなくモデルを簡単に更新できます。複雑なモデルや定期的なアップデートが必要な大規模アプリに最適です。ただし、インターネット接続が必要であり、遅延やセキュリティの問題が発生する可能性があります。
YOLO11 モデルのエクスポートCoreML
YOLO11 をCoreML にエクスポートすることで、アップルのエコシステム内で最適化されたデバイス上での機械学習パフォーマンスが可能になり、効率性、セキュリティ、およびiOS 、macOS、watchOS、tvOS プラットフォームとのシームレスな統合の面でメリットがあります。
インストール
必要なパッケージをインストールするには、以下を実行する:
インストールプロセスに関する詳しい説明とベストプラクティスについては、YOLO11 インストールガイドをご覧ください。YOLO11 に必要なパッケージをインストールする際に、何らかの問題が発生した場合は、解決策やヒントについて、よくある問題ガイドを参照してください。
使用方法
使い方の説明に入る前に、 Ultralytics が提供するYOLO11 モデルのラインナップをご確認ください。これは、あなたのプロジェクトの要件に最も適したモデルを選択するのに役立ちます。
使用方法
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")
エクスポートの引数
議論 | タイプ | デフォルト | 説明 |
---|---|---|---|
format |
str |
'coreml' |
エクスポートされたモデルのターゲットフォーマットで、さまざまな展開環境との互換性を定義します。 |
imgsz |
int または tuple |
640 |
モデル入力に必要な画像サイズ。正方形画像の場合は整数,正方形画像の場合はタプルになります. (height, width) 具体的な寸法については |
half |
bool |
False |
FP16(半精度)量子化を有効にし、モデルサイズを縮小し、サポートされているハードウェアでの推論を高速化する可能性があります。 |
int8 |
bool |
False |
INT8量子化を有効にし、モデルをさらに圧縮し、主にエッジデバイスのために、最小限の精度損失で推論を高速化する。 |
nms |
bool |
False |
正確で効率的な検出の後処理に不可欠なNMS(Non-Maximum Suppression)を追加。 |
batch |
int |
1 |
エクスポートモデルのバッチ推論サイズ、またはエクスポートされたモデルが同時に処理する画像の最大数を指定します。 predict モードだ。 |
エクスポートプロセスの詳細については、Ultralytics ドキュメントのエクスポートに関するページをご覧ください。
エクスポートされたYOLO11 CoreML モデルの展開
Ultralytics YOLO11 モデルのCoreML へのエクスポートに成功したら、次の重要な段階は、これらのモデルを効果的に配備することです。様々な環境におけるCoreML モデルの展開に関する詳細なガイダンスについては、以下のリソースをご覧ください:
-
CoreML ツール:このガイドには、以下のライブラリからCore MLにモデルを変換する手順と例が含まれています。 TensorFlowやPyTorch などのライブラリから Core ML へモデルを変換する手順が記載されています。
-
MLとビジョン:CoreML モデルの使用と実装の様々な側面をカバーする包括的なビデオのコレクション。
-
コアMLモデルをアプリに統合する:CoreML モデルをiOS アプリケーションに統合するための包括的なガイドで、モデルの準備から様々な機能のためのアプリへの実装までの手順を詳しく説明しています。
概要
このガイドでは、Ultralytics YOLO11 のモデルをCoreML 形式にエクスポートする方法について説明しました。このガイドで説明した手順に従うことで、YOLO11 のモデルをCoreML にエクスポートする際に、最大限の互換性とパフォーマンスを確保することができます。
使い方の詳細については、CoreML 公式ドキュメントをご覧ください。
また、その他のUltralytics YOLO11 の統合について詳しくお知りになりたい場合は、統合ガイドのページをご覧ください。そこには貴重なリソースや洞察がたくさんあります。
よくあるご質問
YOLO11 モデルをCoreML フォーマットにエクスポートするには?
をエクスポートするには Ultralytics YOLO11 モデルをCoreML フォーマットに変換するには、最初に ultralytics
パッケージがインストールされています。インストールには
次に、以下のPython またはCLI コマンドを使ってモデルをエクスポートします:
使用方法
詳細については、ドキュメントの「 YOLO11 Models toCoreML Exporting」セクションを参照してください。
YOLO11 モデルの展開にCoreML を使用するメリットは何ですか?
CoreML は、Appleデバイスに Ultralytics YOLO11モデルをアップル社製デバイスに展開する際に多くの利点があります:
- オンデバイス処理:デバイス上でのローカルモデル推論を可能にし、データプライバシーを確保し、待ち時間を最小限に抑えます。
- パフォーマンスの最適化:デバイスのCPU 、GPU 、Neural Engineの可能性を最大限に活用し、スピードと効率の両方を最適化します。
- 統合の容易さ:iOS 、macOS、watchOS、tvOSを含むAppleのエコシステムとのシームレスな統合体験を提供します。
- 汎用性:CoreML フレームワークを使用して、画像解析、音声処理、自然言語処理など、幅広い機械学習タスクをサポート。
CoreML モデルのiOS アプリへの統合の詳細については、コア ML モデルのアプリへの統合に関するガイドをご覧ください。
CoreML にエクスポートされたYOLO11 モデルのデプロイオプションは何ですか?
YOLO11 モデルをCoreML フォーマットにエクスポートすると、複数の展開オプションがあります:
-
オンデバイスでの展開:CoreML モデルをアプリに直接統合し、プライバシーとオフライン機能を強化します。これは次のように行うことができます:
- 組み込みモデル:アプリのバンドルに含まれ、すぐにアクセスできます。
- ダウンロードされたモデル:必要に応じてサーバーから取得し、アプリバンドルサイズを小さく保ちます。
-
クラウドベースの展開:CoreML 、サーバー上でモデルをホストし、APIリクエストを通じてアクセスする。このアプローチは、より簡単なアップデートをサポートし、より複雑なモデルを扱うことができます。
CoreML モデルの展開に関する詳しいガイダンスについては、CoreML 展開オプションを参照してください。
CoreML は、YOLO11 モデルのパフォーマンスをどのように最適化しているのか?
CoreML 様々な最適化技術を駆使して Ultralytics YOLO11様々な最適化技術を活用することで、モデルのパフォーマンスを最適化します:
- ハードウェア・アクセラレーション:デバイスのCPU 、GPU 、およびニューラル・エンジンを使用して効率的な計算を行います。
- モデルの圧縮:精度を損なうことなくモデルのフットプリントを縮小するための圧縮ツールを提供します。
- 適応型推論:デバイスの能力に基づいて推論を調整し、スピードとパフォーマンスのバランスを保つ。
パフォーマンス最適化の詳細については、CoreML 公式ドキュメントをご覧ください。
エクスポートされたCoreML モデルを使って直接推論を実行できますか?
はい、エクスポートされたCoreML モデルを使って直接推論を実行することができます。以下は、Python とCLI のコマンドです:
ランニング推論
詳細については、CoreML エクスポート・ガイドの「使用法」を参照。