Meet YOLO26: next-gen vision AI.

Link to this sectionYOLO26モデルのCoreMLエクスポート#

iPhoneやMacなどのAppleデバイス上でコンピュータビジョンモデルをデプロイするには、パフォーマンスをシームレスに維持できるフォーマットが必要です。



Watch: How to Export Ultralytics YOLO26 to CoreML for 2x Fast Inference on Apple Devices 🚀

The CoreML export format allows you to optimize your Ultralytics YOLO26 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.

Link to this sectionCoreML#

Apple CoreML deployment pipeline

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

Core MLフレームワークはデバイス上のコンピューティングを使用して動作するため、アプリケーションはネットワーク接続やAPI呼び出しを必要とせずにCore MLを活用できます。つまり、モデルの推論をユーザーのデバイス上でローカルに実行可能です。

Link to this sectionCoreMLモデルの主な特徴#

AppleのCoreMLフレームワークは、オンデバイス機械学習のための強力な機能を提供します。CoreMLが開発者にとって強力なツールである主な特徴は以下の通りです。

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

CoreML supported deep learning frameworks

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

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

  • 統合の容易さ: さまざまなモデルタイプに対応する統一されたフォーマットを提供し、アプリへのシームレスな統合を可能にする使いやすいAPIを備えています。VisionやNatural Languageなどのフレームワークを通じて、ドメイン固有のタスクをサポートします。

  • 高度な機能: パーソナライズされた体験のためのオンデバイス学習機能、対話型のML体験のための非同期予測、モデルの検査および検証ツールが含まれています。

Link to this sectionCoreMLデプロイオプション#

YOLO26モデルをCoreMLフォーマットにエクスポートするコードを見る前に、CoreMLモデルが通常どこで使用されるかを理解しておきましょう。

CoreMLは機械学習モデルに対して、以下のようなさまざまなデプロイオプションを提供しています。

  • オンデバイスデプロイ: この方法では、CoreMLモデルをiOSアプリに直接統合します。低レイテンシーの確保、プライバシーの強化(データがデバイス内に留まるため)、オフライン機能の実現に特に有利です。ただし、このアプローチはデバイスのハードウェア性能、特に大規模で複雑なモデルの場合に制限を受ける可能性があり、以下の2つの方法で実行できます。

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

    • ダウンロードモデル: これらのモデルは必要に応じてサーバーから取得されます。大規模なモデルや定期的な更新が必要なモデルに適しています。アプリのバンドルサイズを小さく保つのに役立ちます。

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

Link to this sectionYOLO26モデルのCoreMLへのエクスポート#

YOLO26をCoreMLにエクスポートすることで、Appleのエコシステム内での最適化されたオンデバイス機械学習パフォーマンスが可能になり、効率性、セキュリティ、そしてiOS、macOS、watchOS、tvOSプラットフォームとのシームレスな統合の利点が得られます。

Link to this sectionインストール#

必要なパッケージをインストールするには、次を実行します。

インストール
# Install the required package for YOLO26
pip install ultralytics

インストールプロセスに関する詳細な手順とベストプラクティスについては、YOLO26インストールガイドを確認してください。YOLO26に必要なパッケージをインストールする際に問題が発生した場合は、解決策とヒントについて共通問題ガイドを参照してください。

Link to this section使用方法#

使用方法の詳細に進む前に、Ultralyticsが提供するYOLO26モデルの範囲を必ず確認してください。これにより、プロジェクトの要件に最も適したモデルを選択するのに役立ちます。

CoreMLフォーマットは、エクスポート予測、および検証モードをサポートしています。CoreMLでの推論と検証はmacOSでのみ実行されます。モデルをエクスポートしてから、エクスポートされたモデルを読み込んで推論を実行するか、精度を検証してください。

エクスポート
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'
予測
from ultralytics import YOLO

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

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
検証
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 sectionエクスポート引数#

引数デフォルト説明
formatstr'coreml'エクスポートされたモデルのターゲットフォーマットであり、さまざまなデプロイ環境との互換性を定義します。
imgszint または tuple640モデル入力に希望する画像サイズ。正方形画像の場合は整数、特定の次元の場合はタプル (height, width) を指定できます。
dynamicboolFalse動的な入力サイズを許可し、さまざまな画像次元を扱う柔軟性を高めます。
halfboolFalseFP16(半精度)量子化を有効にし、モデルサイズを縮小して、サポートされているハードウェアでの推論を高速化する可能性があります。
int8boolFalseINT8量子化をアクティブにし、主にエッジデバイス向けに、精度の損失を最小限に抑えながらモデルをさらに圧縮して推論を高速化します。
nmsboolFalse非最大値抑制(NMS)を追加します。これは、正確で効率的な検出後の処理に不可欠です。
batchint1エクスポートモデルのバッチ推論サイズ、またはエクスポートされたモデルが predict モードで同時に処理する画像の最大数を指定します。
devicestrNoneエクスポートするデバイスを指定します:GPU (device=0)、CPU (device=cpu)、Appleシリコン用MPS (device=mps)。
ヒント

CoreMLにエクスポートする際は、macOSまたはx86 Linuxマシンを使用するようにしてください。

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

Link to this sectionエクスポートされたYOLO26 CoreMLモデルのデプロイ#

Ultralytics YOLO26モデルをCoreMLに正常にエクスポートできたら、次の重要なフェーズはこれらのモデルを効果的にデプロイすることです。さまざまな環境でのCoreMLモデルのデプロイに関する詳細なガイダンスについては、これらのリソースを確認してください:

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

  • ML and Vision: CoreMLモデルの使用と実装のさまざまな側面をカバーする包括的なビデオコレクションです。

  • Integrating a Core ML Model into Your App: CoreMLモデルをiOSアプリケーションに統合するための包括的なガイドであり、モデルの準備からアプリへの実装まで、さまざまな機能を実現するための手順を詳しく説明しています。

Link to this section概要#

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

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

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

Link to this sectionFAQ#

Link to this sectionYOLO26モデルをCoreMLフォーマットにエクスポートするにはどうすればよいですか?#

Ultralytics YOLO26モデルをCoreMLフォーマットにエクスポートするには、まず ultralytics パッケージがインストールされていることを確認する必要があります。以下を使用してインストールできます:

インストール
pip install ultralytics

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

使用方法
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
model.export(format="coreml")

詳細については、ドキュメントのYOLO26モデルのCoreMLへのエクスポートセクションを参照してください。

Link to this sectionYOLO26モデルのデプロイにCoreMLを使用する利点は何ですか?#

CoreMLは、Appleデバイス上でUltralytics YOLO26モデルをデプロイするために数多くの利点を提供します:

  • オンデバイス処理: デバイス上でのローカルモデル推論を可能にし、データプライバシーを確保してレイテンシーを最小限に抑えます。
  • パフォーマンスの最適化: デバイスのCPU、GPU、Neural Engineの可能性を最大限に活用し、速度と効率の両方を最適化します。
  • 統合の容易さ: iOS、macOS、watchOS、tvOSを含むAppleのエコシステムとのシームレスな統合体験を提供します。
  • 汎用性: CoreMLフレームワークを使用して、画像解析、音声処理、自然言語処理など、幅広い機械学習タスクをサポートします。

CoreMLモデルをiOSアプリに統合する方法の詳細については、Integrating a Core ML Model into Your Appのガイドをご覧ください。

Link to this sectionCoreMLにエクスポートされたYOLO26モデルのデプロイオプションは何ですか?#

YOLO26モデルをCoreMLフォーマットにエクスポートすると、複数のデプロイオプションを利用できます:

  1. オンデバイスデプロイ: CoreMLモデルをアプリに直接統合し、プライバシーの強化とオフライン機能を実現します。これは以下の方法で行えます:

    • 組み込みモデル: アプリバンドルに含まれており、すぐにアクセス可能です。
    • ダウンロードモデル: 必要に応じてサーバーから取得され、アプリのバンドルサイズを小さく保ちます。
  2. クラウドベースデプロイ: CoreMLモデルをサーバーでホストし、APIリクエストを通じてアクセスします。このアプローチは更新が容易であり、より複雑なモデルを処理できます。

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

Link to this sectionCoreMLはYOLO26モデルのパフォーマンスをどのように最適化しますか?#

CoreMLは、さまざまな最適化手法を利用することで、Ultralytics YOLO26モデルの最適化されたパフォーマンスを保証します:

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

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

Link to this sectionエクスポートされたCoreMLモデルで直接推論を実行できますか?#

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

推論の実行
from ultralytics import YOLO

coreml_model = YOLO("yolo26n.mlpackage")
results = coreml_model("https://ultralytics.com/images/bus.jpg")

詳細については、CoreMLエクスポートガイドの使用方法セクションを参照してください。

コメント