YOLO26モデルのTFLiteへのエクスポートとデプロイに関するガイド

エッジデバイスまたは組み込みデバイスにコンピュータビジョンモデルをデプロイするには、シームレスなパフォーマンスを保証できる形式が必要です。
TensorFlow LiteまたはTFLiteエクスポート形式により、エッジデバイスベースのアプリケーションにおける物体検出や画像分類などのタスク向けに、Ultralytics YOLO26モデルを最適化できます。このガイドでは、モデルをTFLite形式に変換する手順を説明し、様々なエッジデバイスでモデルが良好に機能するようにします。
なぜTFLiteにエクスポートする必要があるのか?
2017年5月にGoogleがTensorFlowフレームワークの一部として導入したTensorFlow Lite、略してTFLiteは、エッジコンピューティングとしても知られるオンデバイス推論用に設計されたオープンソースの深層学習フレームワークです。これにより、開発者はトレーニング済みのモデルをモバイル、組み込み、IoTデバイス、および従来のコンピューターで実行するための必要なツールを利用できます。
TensorFlow Liteは、組み込みLinux、Android、iOS、マイクロコントローラー(MCU)など、幅広いプラットフォームと互換性があります。モデルをTFLiteにエクスポートすることで、アプリケーションはより高速で信頼性が高くなり、オフラインでの実行も可能になります。
TFLiteモデルの主な機能
TFLiteモデルは、開発者がモバイル、組み込み、エッジデバイスでモデルを実行できるようにすることで、オンデバイス機械学習を可能にする幅広い主要機能を提供します。
オンデバイス最適化:TFLiteはオンデバイスML向けに最適化されており、データをローカルで処理することでレイテンシを削減し、個人データを送信しないことでプライバシーを強化し、モデルサイズを最小限に抑えてスペースを節約します。
複数プラットフォーム対応: TFLiteは広範なプラットフォーム互換性を提供し、Android、iOS、組み込みLinux、マイクロコントローラーをサポートしています。
多様な言語サポート: TFLiteは、Java、Swift、Objective-C、C++、Pythonなど、様々なプログラミング言語に対応しています。
ハイパフォーマンス: ハードウェアアクセラレーションとモデルの最適化により、優れたパフォーマンスを実現します。
TFLiteにおけるデプロイオプション
YOLO26モデルをTFLite形式にエクスポートするためのコードを見る前に、TFLiteモデルが通常どのように使用されるかを理解しましょう。
TFLiteは、機械学習モデル向けに様々なオンデバイス展開オプションを提供しており、以下のようなものがあります。
- AndroidおよびiOSでの展開: TFLiteを搭載したAndroidおよびiOSアプリケーションは、エッジベースのカメラフィードやセンサーを分析してオブジェクトをdetectおよび識別できます。TFLiteは、SwiftおよびObjective-Cで記述されたネイティブiOSライブラリも提供しています。以下のアーキテクチャ図は、TensorFlow Liteを使用してトレーニング済みモデルをAndroidおよびiOSプラットフォームに展開するプロセスを示しています。

組み込みLinuxでの実装: Raspberry PiでUltralytics Guideを使用して推論を実行してもユースケースの速度要件を満たさない場合は、エクスポートされたTFLiteモデルを使用して推論時間を高速化できます。さらに、Coral Edge TPUデバイスを利用することで、パフォーマンスをさらに向上させることが可能です。
マイクロコントローラーでの展開: TFLiteモデルは、数キロバイトのメモリしかないマイクロコントローラーやその他のデバイスにも展開できます。コアランタイムはArm Cortex M3でわずか16 KBに収まり、多くの基本的なモデルを実行できます。オペレーティングシステムのサポート、標準のCまたはC++ライブラリ、動的メモリ割り当ては必要ありません。
TFLiteへのエクスポート: YOLO26モデルの変換
モデルをTFLite形式に変換することで、オンデバイスモデルの実行効率を向上させ、パフォーマンスを最適化できます。
インストール
必要なパッケージをインストールするには、以下を実行します:
インストール
# Install the required package for YOLO26
pip install ultralytics
インストールプロセスに関する詳細な手順とベストプラクティスについては、Ultralyticsインストールガイドをご確認ください。YOLO26に必要なパッケージをインストールする際に問題が発生した場合は、解決策とヒントについてよくある問題ガイドを参照してください。
使用法
すべてのUltralytics YOLO26モデルは、すぐにエクスポートをサポートするように設計されており、お好みのデプロイワークフローに簡単に統合できます。サポートされているエクスポート形式と設定オプションの全リストを表示して、アプリケーションに最適なセットアップを選択できます。
使用法
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format
model.export(format="tflite") # creates 'yolo26n_float32.tflite'
# Load the exported TFLite model
tflite_model = YOLO("yolo26n_float32.tflite")
# Run inference
results = tflite_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO26n PyTorch model to TFLite format
yolo export model=yolo26n.pt format=tflite # creates 'yolo26n_float32.tflite'
# Run inference with the exported model
yolo predict model='yolo26n_float32.tflite' source='https://ultralytics.com/images/bus.jpg'
エクスポート引数
| 引数 | 種類 | デフォルト | 説明 |
|---|---|---|---|
format | str | 'tflite' | エクスポートされたモデルのターゲット形式。さまざまなデプロイメント環境との互換性を定義します。 |
imgsz | int または tuple | 640 | モデル入力に必要な画像サイズ。正方形の画像の場合は整数、タプルの場合は (height, width) 特定の寸法の場合。 |
half | bool | False | FP16(半精度)量子化を有効にし、モデルサイズを縮小し、サポートされているハードウェアでの推論を高速化する可能性があります。 |
int8 | bool | False | INT8量子化を有効にすると、モデルがさらに圧縮され、精度の低下を最小限に抑えながら推論が高速化されます。主にエッジデバイス向けです。 |
nms | bool | False | 正確かつ効率的なdetect後処理に不可欠なNon-Maximum Suppression (NMS)を追加します。 |
batch | int | 1 | エクスポートされたモデルのバッチ推論サイズ、またはエクスポートされたモデルが同時に処理する画像の最大数を指定します。 predict モードを参照してください。 |
data | str | 'coco8.yaml' | へのパス データセット 構成ファイル(デフォルト: coco8.yaml)は、量子化に不可欠です。 |
fraction | float | 1.0 | INT8量子化のキャリブレーションに使用するデータセットの割合を指定します。リソースが限られている場合や実験を行う場合に役立つ、データセットのサブセットでのキャリブレーションが可能です。INT8を有効にして指定しない場合、データセット全体が使用されます。 |
device | str | None | エクスポート先のデバイスを指定します:CPU (device=cpu)、Apple シリコン用 MPS (device=mps)。 |
エクスポートプロセスの詳細については、エクスポートに関するUltralyticsドキュメントページをご覧ください。
エクスポートされたYOLO26 TFLiteモデルのデプロイ
Ultralytics YOLO26モデルをTFLite形式に正常にエクスポートした後、それらをデプロイできるようになります。TFLiteモデルを実行するための主要かつ推奨される最初のステップは、以下を使用することです。 YOLO("model.tflite") 前述の使用コードスニペットで概説されている方法。ただし、TFLiteモデルを様々な他の設定で展開するための詳細な手順については、以下のリソースを参照してください。
Android: TensorFlow LiteをAndroidアプリケーションに統合するためのクイックスタートガイドです。設定と機械学習モデルの実行が簡単にできる手順が記載されています。
iOS: iOSアプリケーションでのTensorFlow Liteモデルの統合とデプロイに関する開発者向けの詳細ガイドをご覧ください。ステップごとの手順とリソースが提供されています。
エンドツーエンドの例: このページでは、モバイルおよびエッジデバイスでの機械学習プロジェクトにTensorFlow Liteを実装する開発者を支援するために設計された、TensorFlow Liteのさまざまな例の概要、実用的なアプリケーション、およびチュートリアルを紹介します。
概要
このガイドでは、TFLite形式へのエクスポート方法に焦点を当てました。Ultralytics YOLO26モデルをTFLiteモデル形式に変換することで、YOLO26モデルの効率と速度を向上させ、エッジコンピューティング環境により効果的で適したものにすることができます。
使用法の詳細については、TFLite公式ドキュメントをご覧ください。
また、他のUltralytics YOLO26の統合にご興味がある場合は、弊社の統合ガイドページをご覧ください。そこには役立つ情報や洞察が豊富にあります。
よくある質問
YOLO26モデルをTFLite形式でエクスポートするにはどうすればよいですか?
YOLO26モデルをTFLite形式でエクスポートするには、Ultralyticsライブラリを使用できます。まず、以下のコマンドで必要なパッケージをインストールします。
pip install ultralytics
次に、次のコードスニペットを使用してモデルをエクスポートします。
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format
model.export(format="tflite") # creates 'yolo26n_float32.tflite'
CLIをご利用の場合、以下のコマンドで実行できます:
yolo export model=yolo26n.pt format=tflite # creates 'yolo26n_float32.tflite'
詳細については、Ultralyticsのエクスポートガイドをご覧ください。
YOLO26モデルのデプロイにTensorFlow Liteを使用する利点は何ですか?
TensorFlow Lite (TFLite)は、オンデバイス推論向けに設計されたオープンソースの深層学習フレームワークであり、モバイル、組み込み、IoTデバイスにYOLO26モデルをデプロイするのに最適です。主な利点は以下の通りです。
- On-device optimization: データをローカルで処理することにより、レイテンシーを最小限に抑え、プライバシーを強化します。
- プラットフォームの互換性: Android、iOS、組み込みLinux、およびMCUをサポートします。
- パフォーマンス: ハードウェアアクセラレーションを利用して、モデルの速度と効率を最適化します。
詳細については、TFLiteガイドをご覧ください。
YOLO26 TFLiteモデルをRaspberry Piで実行することは可能ですか?
はい、YOLO26 TFLiteモデルをRaspberry Piで実行して、推論速度を向上させることができます。まず、上記で説明したようにモデルをTFLite形式にエクスポートします。次に、TensorFlow Lite Interpreterのようなツールを使用して、Raspberry Piでモデルを実行します。
さらなる最適化のために、Coral Edge TPUの使用を検討してください。詳細な手順については、Raspberry PiのデプロイガイドとEdge TPU統合ガイドを参照してください。
YOLO26の予測にマイクロコントローラーでTFLiteモデルを使用できますか?
はい、TFLiteはリソースが限られたマイクロコントローラーへのデプロイをサポートしています。TFLiteのコアランタイムはArm Cortex M3上でわずか16 KBのメモリしか必要とせず、基本的なYOLO26モデルを実行できます。これにより、最小限の計算能力とメモリしか持たないデバイスへのデプロイに適しています。
開始するには、TFLite Micro for Microcontrollersガイドをご覧ください。
TFLiteでエクスポートされたYOLO26モデルと互換性のあるプラットフォームは何ですか?
TensorFlow Liteは幅広いプラットフォーム互換性を提供し、YOLO26モデルを以下を含む様々なデバイスに展開できます。
- Android and iOS: TFLite AndroidおよびiOSライブラリによるネイティブサポート。
- 組み込み Linux: Raspberry Pi などのシングルボードコンピュータに最適です。
- マイクロコントローラー:リソースが制約されたMCUに適しています。
デプロイメントオプションの詳細については、詳細なデプロイメントガイドをご覧ください。
YOLO26モデルをTFLiteにエクスポートする際の一般的な問題のトラブルシューティング方法を教えてください。
YOLO26モデルをTFLiteにエクスポートする際にエラーが発生した場合、一般的な解決策は以下の通りです。
- パッケージの互換性を確認: UltralyticsとTensorFlowの互換性のあるバージョンを使用していることを確認してください。弊社のインストールガイドを参照してください。
- モデルのサポート: 特定のYOLO26モデルがTFLiteエクスポートをサポートしていることを、Ultralyticsのエクスポートドキュメントページで確認してください。
- 量子化に関する問題: INT8 量子化を使用する場合は、データセットのパスが以下で正しく指定されていることを確認してください。
dataパラメータ。
その他のトラブルシューティングのヒントについては、よくある問題ガイドをご覧ください。