Meet YOLO26: next-gen vision AI.

Link to this sectionYOLO26モデルのデプロイに向けたTFLiteエクスポートガイド#

TensorFlow Lite edge deployment framework

コンピュータービジョンモデルをエッジデバイスや組み込みデバイスにデプロイするには、シームレスなパフォーマンスを保証できるフォーマットが必要です。

The TensorFlow Lite or TFLite export format allows you to optimize your Ultralytics YOLO26 models for tasks like object detection and image classification in edge device-based applications. In this guide, we'll walk through the steps for converting your models to the TFLite format, making it easier for your models to perform well on various edge devices.

Link to this sectionなぜTFLiteにエクスポートするのか?#

2017年5月にGoogleがTensorFlowフレームワークの一部として導入したTensorFlow Lite(略してTFLite)は、オンデバイス推論(エッジコンピューティングとしても知られる)用に設計されたオープンソースのディープラーニングフレームワークです。これは、モバイル、組み込み、IoTデバイス、および従来のコンピューターで学習済みモデルを実行するために必要なツールを開発者に提供します。

TensorFlow Liteは、組み込みLinux、Android、iOS、マイクロコントローラー(MCU)など、幅広いプラットフォームと互換性があります。モデルをTFLiteにエクスポートすることで、アプリケーションの高速化、信頼性の向上、およびオフライン実行が可能になります。

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

TFLiteモデルには、開発者がモバイル、組み込み、エッジデバイスでモデルを実行できるようにし、オンデバイス機械学習を実現する幅広い主要機能が備わっています。

  • オンデバイス最適化: TFLiteはオンデバイス機械学習向けに最適化されており、データをローカルで処理してレイテンシを削減し、個人データを送信しないことでプライバシーを強化し、モデルサイズを最小化してスペースを節約します。

  • マルチプラットフォームサポート: TFLiteは幅広いプラットフォーム互換性を提供しており、Android、iOS、組み込みLinux、およびマイクロコントローラーをサポートしています。

  • 多様な言語サポート: TFLiteは、Java、Swift、Objective-C、C++、Pythonなど、さまざまなプログラミング言語と互換性があります。

  • 高性能: ハードウェアアクセラレーションとモデルの最適化を通じて、優れたパフォーマンスを実現します。

Link to this sectionTFLiteにおけるデプロイオプション#

YOLO26モデルをTFLiteフォーマットにエクスポートするためのコードを確認する前に、TFLiteモデルが通常どのように使用されるかを理解しましょう。

TFLiteは、機械学習モデル向けに以下のような様々なオンデバイスデプロイオプションを提供しています。

  • AndroidおよびiOSへのデプロイ: TFLiteを使用するAndroidおよびiOSアプリケーションは、エッジベースのカメラフィードやセンサーを分析して物体を検出し、識別できます。TFLiteは、SwiftおよびObjective-Cで記述されたネイティブiOSライブラリも提供します。以下のアーキテクチャ図は、TensorFlow Liteを使用して学習済みモデルをAndroidおよびiOSプラットフォームにデプロイするプロセスを示しています。

TensorFlow Lite deployment architecture for mobile

  • Implementing with Embedded Linux: If running inferences on a Raspberry Pi using the Ultralytics Guide does not meet the speed requirements for your use case, you can use an exported TFLite model to accelerate inference times. Additionally, it's possible to further improve performance by utilizing a Coral Edge TPU device.

  • マイクロコントローラーへのデプロイ: TFLiteモデルは、数キロバイトのメモリしかないマイクロコントローラーやその他のデバイスにもデプロイできます。コアランタイムは、Arm Cortex M3上でわずか16 KBの容量に収まり、多くの基本的なモデルを実行可能です。オペレーティングシステムのサポートや標準的なC/C++ライブラリ、動的メモリ割り当ては必要ありません。

Link to this sectionTFLiteへのエクスポート:YOLO26モデルの変換#

モデルをTFLiteフォーマットに変換することで、オンデバイスモデル実行の効率を向上させ、パフォーマンスを最適化できます。

Link to this sectionインストール#

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

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

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

Link to this section使用方法#

すべてのUltralytics YOLO26モデルは、すぐにエクスポートできるように設計されており、好みのデプロイメントワークフローに簡単に統合できます。サポートされているエクスポート形式と設定オプションの全リストを確認して、アプリケーションに最適なセットアップを選択してください。

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

エクスポート
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TFLite format
model.export(format="tflite")  # creates 'yolo26n_float32.tflite'
予測
from ultralytics import YOLO

# Load the exported TFLite model
model = YOLO("yolo26n_float32.tflite")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
検証
from ultralytics import YOLO

# Load the exported TFLite model
model = YOLO("yolo26n_float32.tflite")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this sectionエクスポート引数#

引数デフォルト説明
formatstr'tflite'エクスポートされたモデルのターゲット形式であり、さまざまなデプロイ環境との互換性を定義します。
imgszint または tuple640モデル入力に必要な画像サイズ。正方形画像の場合は整数、特定の寸法のタプル(height, width)を指定できます。
halfboolFalseFP16(半精度)量子化を有効にし、モデルサイズを縮小して、対応ハードウェアでの推論を高速化する可能性があります。
int8boolFalseINT8量子化を有効にし、モデルをさらに圧縮して推論を高速化します。精度 の損失を最小限に抑え、主にエッジデバイス向けに使用されます。
nmsboolFalseNMS (Non-Maximum Suppression) を追加します。これは、正確かつ効率的な検出後処理に不可欠です。
batchint1エクスポートされたモデルのバッチ推論サイズ、または predict モードでエクスポートされたモデルが同時に処理する画像の最大数を指定します。
datastr'coco8.yaml'データセット 設定ファイルへのパス(デフォルト: coco8.yaml)。量子化に不可欠です。
fractionfloat1.0INT8量子化のキャリブレーションに使用するデータセットの割合を指定します。データセット全体の一部を使用してキャリブレーションを行えるため、実験時やリソースが限られている場合に便利です。INT8を有効にした状態で指定がない場合は、データセット全体が使用されます。
devicestrNoneエクスポート用のデバイスを指定します:CPU (device=cpu)、Appleシリコン用MPS (device=mps)。

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

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

Ultralytics YOLO26モデルをTFLiteフォーマットに正常にエクスポートしたら、次にデプロイが可能です。TFLiteモデルを実行するための推奨される第一歩は、以前のコードスニペットで説明したように、YOLO("model.tflite")メソッドを使用することです。ただし、TFLiteモデルを他のさまざまな設定でデプロイするための詳細な手順については、以下のリソースを確認してください。

  • Android: TensorFlow LiteをAndroidアプリケーションに統合するためのクイックスタートガイドです。機械学習モデルのセットアップと実行に関するわかりやすい手順を提供します。

  • iOS: iOSアプリケーションでTensorFlow Liteモデルを統合およびデプロイするための開発者向け詳細ガイドです。ステップバイステップの手順とリソースを提供します。

  • エンドツーエンドの例: このページでは、さまざまなTensorFlow Liteの例の概要を紹介しており、開発者がモバイルおよびエッジデバイス上の機械学習プロジェクトでTensorFlow Liteを実装するのに役立つ実用的なアプリケーションとチュートリアルを掲載しています。

Link to this sectionまとめ#

このガイドでは、TFLiteフォーマットへのエクスポート方法に焦点を当てました。Ultralytics YOLO26モデルをTFLiteモデルフォーマットに変換することで、YOLO26モデルの効率と速度が向上し、エッジコンピューティング環境により適した効果的なモデルになります。

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

また、他のUltralytics YOLO26統合に興味がある場合は、統合ガイドページを確認してください。そこで役立つ多くの情報や洞察を見つけることができます。

Link to this sectionFAQ#

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

YOLO26モデルをTFLiteフォーマットにエクスポートするには、Ultralyticsライブラリを使用できます。まず、以下のコマンドを使用して必要なパッケージをインストールしてください。

pip install ultralytics

次に、以下のコードスニペットを使用してモデルをエクスポートします。

from ultralytics import YOLO

# Load a 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エクスポートガイドを参照してください。

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

TensorFlow Lite (TFLite) は、オンデバイス推論用に設計されたオープンソースのディープラーニングフレームワークであり、YOLO26モデルをモバイル、組み込み、およびIoTデバイスにデプロイするのに最適です。主な利点は以下の通りです。

  • オンデバイス最適化: データをローカルで処理することでレイテンシを最小限に抑え、プライバシーを強化します。
  • プラットフォーム互換性: Android、iOS、組み込みLinux、およびMCUをサポートしています。
  • パフォーマンス: ハードウェアアクセラレーションを活用して、モデルの速度と効率を最適化します。

詳細については、TFLiteガイドを確認してください。

Link to this sectionRaspberry PiでYOLO26 TFLiteモデルを実行することは可能ですか?#

はい、Raspberry PiでYOLO26 TFLiteモデルを実行して推論速度を向上させることができます。まず、上述の手順でモデルをTFLiteフォーマットにエクスポートします。次に、TensorFlow Lite Interpreterなどのツールを使用して、Raspberry Pi上でモデルを実行します。

さらなる最適化については、Coral Edge TPUの使用を検討してください。詳細な手順については、Raspberry PiデプロイメントガイドおよびEdge TPU統合ガイドを参照してください。

Link to this sectionYOLO26の予測にマイクロコントローラー上のTFLiteモデルを使用できますか?#

はい、TFLiteはリソースが限られたマイクロコントローラーへのデプロイをサポートしています。TFLiteのコアランタイムは、Arm Cortex M3でわずか16 KBのメモリしか必要とせず、基本的なYOLO26モデルを実行できます。これにより、計算能力とメモリが最小限のデバイスへのデプロイに適しています。

開始するには、TFLite Micro for Microcontrollersガイドをご覧ください。

Link to this sectionTFLiteにエクスポートされたYOLO26モデルと互換性のあるプラットフォームは何ですか?#

TensorFlow Liteは広範なプラットフォーム互換性を提供しており、以下を含む幅広いデバイスにYOLO26モデルをデプロイできます。

  • AndroidおよびiOS: TFLite AndroidおよびiOSライブラリによるネイティブサポート。
  • 組み込みLinux: Raspberry Piなどのシングルボードコンピューターに最適。
  • マイクロコントローラー: リソースが制限されたMCUに適しています。

デプロイメントオプションの詳細については、詳細なデプロイガイドを参照してください。

Link to this sectionYOLO26モデルをTFLiteにエクスポートする際によくある問題を解決するにはどうすればよいですか?#

YOLO26モデルをTFLiteにエクスポートする際にエラーが発生した場合の一般的な解決策は以下の通りです。

  • パッケージの互換性を確認: UltralyticsとTensorFlowの互換性のあるバージョンを使用していることを確認してください。インストールガイドを参照してください。
  • モデルのサポート: 特定のYOLO26モデルがTFLiteエクスポートをサポートしているかどうかを、Ultralyticsのエクスポートドキュメントページで確認してください。
  • 量子化の問題: INT8量子化を使用する場合は、dataパラメーターでデータセットのパスが正しく指定されていることを確認してください。

その他のトラブルシューティングのヒントについては、一般的な問題ガイドを参照してください。

コメント