YOLO11モデルをTFLiteにエクスポートして配備するためのガイド
エッジデバイスや組み込みデバイスにコンピュータビジョンモデルを展開するには、シームレスなパフォーマンスを保証できるフォーマットが必要です。
TensorFlow LiteまたはTFLiteエクスポートフォーマットにより、Ultralytics YOLO11モデルを、エッジデバイスベースのアプリケーションにおける物体検出や 画像分類などのタスクに最適化することができます。このガイドでは、モデルをTFLite形式に変換する手順を説明し、モデルがさまざまなエッジデバイスでうまく動作するようにします。
なぜTFLiteにエクスポートする必要があるのですか?
TensorFlow frameworkの一部として2017年5月にGoogle によって発表されたTensorFlow Lite、略してTFLiteは、エッジコンピューティングとしても知られるオンデバイス推論用に設計されたオープンソースのディープラーニングフレームワークである。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の展開オプション
YOLO11モデルをTFLiteフォーマットにエクスポートするコードを見る前に、TFLiteモデルが通常どのように使われるかを理解しよう。
TFLiteは、機械学習モデルのためのさまざまなオンデバイス展開オプションを提供している:
- Android 、iOS: TFLiteのAndroid 、iOS アプリケーションは、エッジベースのカメラフィードやセンサーを分析し、オブジェクトを検出、識別することができます。TFLiteは、Swiftと Objective-Cで書かれたネイティブのiOS ライブラリも提供している。以下のアーキテクチャ図は、TensorFlow Lite を使用して、Android およびiOS プラットフォームに学習済みモデルをデプロイするプロセスを示しています。
Embedded Linuxでの実装:Ultralytics ガイドを使用してRaspberry Pi上で推論を実行してもユースケースの速度要件を満たさない場合は、エクスポートされたTFLiteモデルを使用して推論時間を高速化することができます。さらに、Coral EdgeTPU 。
マイクロコントローラでの展開:TFLiteモデルは、数キロバイトのメモリしか持たないマイクロコントローラやその他のデバイスにも展開できます。コアのランタイムはArm Cortex M3の16KBに収まるだけで、多くの基本的なモデルを実行できます。オペレーティング・システムのサポート、標準的なCまたはC++ライブラリ、動的メモリ割り当てを必要としない。
TFLiteへのエクスポート:YOLO11モデルの変換
TFLite形式に変換することで、デバイス上でのモデル実行効率を向上させ、パフォーマンスを最適化することができます。
インストール
必要なパッケージをインストールするには
インストールプロセスに関する詳しい説明とベストプラクティスについては、Ultralytics インストールガイドをご覧ください。YOLO11に必要なパッケージのインストール中に、何か問題が発生した場合は、解決策とヒントについて、よくある問題ガイドを参照してください。
使用方法
使い方の説明に入る前に、Ultralytics YOLO11の全モデルがエクスポートに対応していることを確認しておきましょう。
使用方法
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TFLite format
model.export(format="tflite") # creates 'yolo11n_float32.tflite'
# Load the exported TFLite model
tflite_model = YOLO("yolo11n_float32.tflite")
# Run inference
results = tflite_model("https://ultralytics.com/images/bus.jpg")
エクスポートプロセスの詳細については、Ultralytics ドキュメントのエクスポートに関するページをご覧ください。
エクスポートされたYOLO11 TFLiteモデルの展開
Ultralytics YOLO11モデルをTFLiteフォーマットにエクスポートすることに成功したら、それらをデプロイすることができます。TFLiteモデルを実行するための最初のステップは、YOLO ("model.tflite")メソッドを使うことです。しかし、他の様々な設定でのTFLiteモデルのデプロイに関する詳細な説明は、以下のリソースをご覧ください:
Android:Liteを アプリケーションに統合するためのクイックスタートガイド。 TensorFlowLiteをAndroid アプリケーションに統合するためのクイックスタートガイド。機械学習モデルをセットアップして実行するための簡単な手順を提供する。
iOS:iOS アプリケーションにTensorFlow Lite モデルを統合して展開するための開発者向け詳細ガイドをご覧ください。
エンドツーエンドの例:このページでは、TensorFlow Lite の様々な例の概要を提供します。開発者がモバイルやエッジデバイス上の機械学習プロジェクトにTensorFlow Lite を実装するのに役立つように設計された、実用的なアプリケーションやチュートリアルを紹介しています。
概要
このガイドでは、TFLiteフォーマットへのエクスポート方法に焦点を当てました。Ultralytics YOLO11モデルをTFLiteモデル形式に変換することで、YOLO11モデルの効率とスピードを向上させ、より効果的でエッジコンピューティング環境に適したものにすることができます。
使用方法の詳細については、TFLite公式ドキュメントをご覧ください。
また、その他のUltralytics YOLO11の統合について興味がある方は、統合ガイドのページをぜひご覧ください。役立つ情報や洞察が満載です。
よくあるご質問
YOLO11モデルをTFLiteフォーマットにエクスポートするには?
YOLO11モデルをTFLite形式にエクスポートするには、Ultralytics 。まず、必要なパッケージをインストールしてください:
次に、以下のコード・スニペットを使ってモデルをエクスポートします:
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TFLite format
model.export(format="tflite") # creates 'yolo11n_float32.tflite'
CLI :
詳しくは、Ultralytics エクスポート・ガイドをご覧ください。
YOLO11モデルのデプロイに TensorFlow Lite を使うメリットは何ですか?
TensorFlow Lite(TFLite)は、オンデバイス推論用に設計されたオープンソースのディープラーニングフレームワークで、モバイル、組み込み、IoTデバイスへのYOLO11モデルの導入に最適です。主な利点は以下の通りです:
- デバイス上での最適化:ローカルでデータを処理することで、待ち時間を最小化し、プライバシーを強化します。
- プラットフォーム互換性:Android,iOS, 組み込みLinux, MCUをサポート。
- パフォーマンスハードウェアアクセラレーションを活用し、モデルの速度と効率を最適化。
詳しくは、TFLiteガイドをご覧ください。
YOLO11 TFLiteモデルをRaspberry Piで動かすことは可能ですか?
はい、YOLO11のTFLiteモデルをRaspberry Pi上で実行することで、推論速度を向上させることができます。まず、ここで説明されているように、モデルをTFLiteフォーマットにエクスポートします。次に、TensorFlow Lite Interpreterのようなツールを使って、Raspberry Pi上でモデルを実行します。
さらなる最適化のためには、Coral EdgeTPU の使用を検討するとよいでしょう。詳細な手順については、Raspberry Piデプロイメントガイドを参照してください。
マイコン上のTFLiteモデルをYOLO11の予測に使用できますか?
はい、TFLiteは限られたリソースのマイクロコントローラへの展開をサポートしています。TFLiteのコアランタイムは、Arm Cortex M3上で16KBのメモリしか必要とせず、基本的なYOLO11モデルを実行できます。このため、計算能力とメモリが最小限のデバイスへの展開に適しています。
まずは、TFLite Micro for Microcontrollersガイドをご覧ください。
TFLiteでエクスポートされたYOLO11モデルと互換性のあるプラットフォームは?
TensorFlow Liteは広範なプラットフォーム互換性を提供し、YOLO11モデルを以下のような幅広いデバイスに展開することができます:
- Android およびiOS: TFLiteAndroid およびiOS ライブラリによるネイティブサポート。
- 組み込みLinux:Raspberry Piなどのシングルボードコンピュータに最適。
- マイクロコントローラー:リソースに制約のあるMCUに適しています。
展開オプションの詳細については、詳細な展開ガイドを参照してください。
YOLO11モデルをTFLiteにエクスポートする際によくある問題のトラブルシューティング方法は?
YOLO11モデルをTFLiteにエクスポートする際にエラーが発生した場合、一般的な解決策は以下の通りです:
- パッケージの互換性をチェックする:互換性のあるバージョンのUltralytics とTensorFlow を使用していることを確認してください。インストールガイドを参照してください。
- モデルのサポート特定のYOLO11モデルがTFLiteエクスポートをサポートしているか、ここで確認してください。
その他のトラブルシューティングのヒントについては、「よくある問題」ガイドをご覧ください。