コンテンツへスキップ

CoreML YOLOv8 モデルのエクスポート

iPhoneやMacのようなAppleデバイスにコンピュータビジョンモデルを展開するには、シームレスなパフォーマンスを保証するフォーマットが必要です。

CoreML エクスポート・フォーマットにより、iOS および macOS アプリケーションで、モデルを最適化できます。 Ultralytics YOLOv8モデルを最適化することができます。このガイドでは、モデルをCoreML フォーマットに変換する手順を説明し、モデルがAppleデバイス上でより簡単に動作するようにします。

CoreML

CoreML 概要

CoreMLは、Accelerate、BNNS、Metal Performance Shadersを基盤とするAppleの機械学習フレームワークです。iOSアプリケーションにシームレスに統合できる機械学習モデルフォーマットを提供し、画像解析、自然言語処理、音声テキスト変換、サウンド解析などのタスクをサポートします。

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

CoreML モデルの主な特徴

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

  • 包括的なモデルサポート:TensorFlow 、PyTorch 、scikit-learn、XGBoost、LibSVM などの一般的なフレームワークからモデルを変換して実行します。

CoreML 対応モデル

  • オンデバイス機械学習:ネットワーク接続の必要性を排除し、ユーザーのデバイス上で直接モデルを実行することで、データのプライバシーと迅速な処理を保証します。

  • パフォーマンスと最適化:デバイスのCPU、GPU、Neural Engineを使用し、最小限の電力とメモリ使用で最適なパフォーマンスを実現。精度を維持しながらモデルの圧縮と最適化を行うツールを提供します。

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

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

CoreML 配備オプション

YOLOv8 モデルをCoreML フォーマットにエクスポートするコードを見る前に、CoreML モデルが通常どこで使われるのかを理解しよう。

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

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

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

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

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

YOLOv8 モデルのエクスポートCoreML

YOLOv8 をCoreML にエクスポートすることで、アップルのエコシステム内で最適化されたデバイス上での機械学習パフォーマンスが可能になり、効率性、セキュリティ、iOS、macOS、watchOS、tvOSプラットフォームとのシームレスな統合の面でメリットがあります。

インストール

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

インストール

# Install the required package for YOLOv8
pip install ultralytics

インストールプロセスに関する詳細な説明とベストプラクティスについては、YOLOv8 インストールガイドをご覧ください。YOLOv8 に必要なパッケージをインストールする際に、何らかの問題が発生した場合は、解決策やヒントについて、よくある問題ガイドを参照してください。

使用方法

使い方の説明に入る前に、 Ultralytics が提供するYOLOv8 モデルのラインナップをご確認ください。これは、あなたのプロジェクトの要件に最も適したモデルを選択するのに役立ちます。

使用方法

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'

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

エクスポートされたYOLOv8 CoreML モデルの展開

Ultralytics YOLOv8 モデルのCoreML へのエクスポートに成功したら、次の重要な段階は、これらのモデルを効果的に配備することです。様々な環境におけるCoreML モデルの展開に関する詳細なガイダンスについては、以下のリソースをご覧ください:

  • CoreML ツール:このガイドには、TensorFlow 、PyTorch 、その他のライブラリからCore MLにモデルを変換する手順と例が含まれています。

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

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

概要

このガイドでは、Ultralytics YOLOv8 のモデルをCoreML 形式にエクスポートする方法について説明しました。このガイドで説明した手順に従うことで、YOLOv8 のモデルをCoreML にエクスポートする際に、最大の互換性とパフォーマンスを確保することができます。

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

また、その他のUltralytics YOLOv8 の統合について詳しくお知りになりたい場合は、統合ガイドのページをご覧ください。そこには貴重なリソースや洞察がたくさんあります。



作成日:2024-02-07 更新日:2024-03-03
著者:glenn-jocher(1),RizwanMunawar(1),abirami-vina(1)

コメント