YOLO11モデルからTFLite Edge TPU形式へのエクスポート方法を学びます
モバイルや組み込みシステムなど、計算能力が限られているデバイスにコンピュータビジョンモデルをデプロイするのは難しい場合があります。より高速なパフォーマンスに最適化されたモデル形式を使用すると、プロセスが簡素化されます。TensorFlow Lite Edge TPUまたはTFLite Edge TPUモデル形式は、ニューラルネットワークの高速なパフォーマンスを実現しながら、消費電力を最小限に抑えるように設計されています。
TFLite Edge TPU形式へのエクスポート機能を使用すると、高速かつ低電力の推論のためにUltralytics YOLO11モデルを最適化できます。このガイドでは、モデルをTFLite Edge TPU形式に変換する方法について説明し、さまざまなモバイルデバイスや組み込みデバイスでモデルが優れたパフォーマンスを発揮できるようにします。
TFLite Edge TPU へのエクスポートの利点は何ですか?
モデルをTensorFlow Edge TPU にエクスポートすると、機械学習タスクが高速かつ効率的になります。このテクノロジーは、電力、コンピューティングリソース、および接続が限られているアプリケーションに適しています。Edge TPU は、Google によるハードウェアアクセラレータです。エッジデバイス上の TensorFlow Lite モデルを高速化します。下の図は、関連するプロセスの例を示しています。
Edge TPUは、量子化されたモデルで動作します。量子化により、精度を大幅に損なうことなく、モデルを小型化および高速化できます。エッジコンピューティングの限られたリソースに最適であり、レイテンシを削減し、クラウドに依存せずにローカルで迅速なデータ処理を可能にすることで、アプリケーションが迅速に応答できるようにします。ローカル処理は、リモートサーバーに送信されないため、ユーザーデータのプライバシーとセキュリティも維持します。
TFLite Edge TPUの主な特徴
TFLite Edge TPUを開発者にとって優れたモデル形式の選択肢にする主要な機能を以下に示します。
-
エッジデバイスでの最適化されたパフォーマンス: TFLite Edge TPUは、量子化、モデルの最適化、ハードウェアアクセラレーション、およびコンパイラの最適化を通じて、高速ニューラルネットワークパフォーマンスを実現します。その最小限のアーキテクチャは、その小型化と費用対効果に貢献しています。
-
高い計算スループット: TFLite Edge TPUは、特殊なハードウェアアクセラレーションと効率的なランタイム実行を組み合わせることで、高い計算スループットを実現します。エッジデバイス上での厳格なパフォーマンス要件を持つ機械学習モデルのデプロイに適しています。
-
効率的な行列計算: TensorFlow Edge TPU は、ニューラルネットワーク計算に不可欠な行列演算に最適化されています。この効率は、機械学習モデル、特多数の複雑な行列乗算と変換を必要とするモデルでは特に重要です。
TFLite Edge TPUでのデプロイメントオプション
YOLO11モデルをTFLite Edge TPU形式にエクスポートする方法に入る前に、TFLite Edge TPUモデルが通常どこで使用されるかを理解しましょう。
TFLite Edge TPUは、機械学習モデルのさまざまなデプロイメントオプションを提供します。以下はその例です:
-
On-Device Deployment: TensorFlow Edge TPUモデルは、モバイルおよび組み込みデバイスに直接デプロイできます。オンデバイスデプロイメントにより、モデルはハードウェア上で直接実行できるようになり、クラウド接続の必要がなくなります。
-
クラウド TensorFlow TPU を使用したエッジコンピューティング: エッジデバイスの処理能力が限られているシナリオでは、TensorFlow Edge TPU は、TPU を搭載したクラウドサーバーに推論タスクをオフロードできます。
-
ハイブリッドデプロイメント: ハイブリッドアプローチは、オンデバイスとクラウドのデプロイメントを組み合わせたもので、機械学習モデルをデプロイするための汎用性と拡張性に優れたソリューションを提供します。利点としては、迅速な応答のためのオンデバイス処理や、より複雑な計算のためのクラウドコンピューティングなどがあります。
YOLO11モデルをTFLite Edge TPUへエクスポート
YOLO11モデルをTensorFlow Edge TPUに変換することで、モデルの互換性とデプロイの柔軟性を拡張できます。
インストール
必要なパッケージをインストールするには、以下を実行します:
インストール
# Install the required package for YOLO11
pip install ultralytics
インストールプロセスに関する詳細な手順とベストプラクティスについては、Ultralyticsインストールガイドをご確認ください。YOLO11に必要なパッケージのインストール中に問題が発生した場合は、よくある問題ガイドで解決策とヒントを参照してください。
使用法
すべてのUltralytics YOLO11モデルは、すぐにエクスポートできるように設計されており、お好みのデプロイメントワークフローに簡単に統合できます。アプリケーションに最適なセットアップを選択するために、サポートされているエクスポート形式と構成オプションの完全なリストを表示できます。
使用法
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TFLite Edge TPU format
model.export(format="edgetpu") # creates 'yolo11n_full_integer_quant_edgetpu.tflite'
# Load the exported TFLite Edge TPU model
edgetpu_model = YOLO("yolo11n_full_integer_quant_edgetpu.tflite")
# Run inference
results = edgetpu_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TFLite Edge TPU format
yolo export model=yolo11n.pt format=edgetpu # creates 'yolo11n_full_integer_quant_edgetpu.tflite'
# Run inference with the exported model
yolo predict model=yolo11n_full_integer_quant_edgetpu.tflite source='https://ultralytics.com/images/bus.jpg'
エクスポート引数
引数 | 種類 | デフォルト | 説明 |
---|---|---|---|
format |
str |
'edgetpu' |
エクスポートされたモデルのターゲット形式。さまざまなデプロイメント環境との互換性を定義します。 |
imgsz |
int または tuple |
640 |
モデル入力に必要な画像サイズ。正方形の画像の場合は整数、タプルの場合は (height, width) 特定の寸法の場合。 |
device |
str |
None |
エクスポート先のデバイスを指定します:CPU (device=cpu )。 |
ヒント
EdgeTPUにエクスポートする際は、x86 Linuxマシンを使用してください。
エクスポートプロセスの詳細については、エクスポートに関するUltralyticsドキュメントページをご覧ください。
エクスポートされたYOLO11 TFLite Edge TPUモデルのデプロイ
Ultralytics YOLO11モデルをTFLite Edge TPU形式に正常にエクスポートした後、それらをデプロイできます。TFLite Edge TPUモデルを実行するための主要かつ推奨される最初のステップは、前の使用コードスニペットで概説されているように、YOLO("model_edgetpu.tflite")メソッドを使用することです。
ただし、TFLite Edge TPUモデルのデプロイに関する詳細な手順については、以下のリソースをご覧ください。
-
Ultralytics YOLO11を使用したRaspberry Pi上のCoral Edge TPU: Coral Edge TPUをRaspberry Piと統合して、機械学習機能を強化する方法をご覧ください。
-
コード例: TensorFlow Edge TPUの実用的なデプロイメント例にアクセスして、プロジェクトをすぐに開始できます。
-
pythonでEdge TPUで推論を実行する: セットアップと使用方法のガイドラインを含め、Edge TPUアプリケーション用のTensorFlow Lite python APIの使用方法について説明します。
概要
このガイドでは、Ultralytics YOLO11モデルをTFLite Edge TPU形式にエクスポートする方法を学びました。上記の手順に従うことで、コンピュータービジョンアプリケーションの速度と能力を向上させることができます。
使用方法の詳細については、Edge TPUの公式ウェブサイトをご覧ください。
また、Ultralytics YOLO11のその他の統合に関する詳細については、統合ガイドページをご覧ください。貴重な情報や洞察が得られます。
よくある質問
YOLO11モデルをTFLite Edge TPU形式にエクスポートするにはどうすればよいですか?
YOLO11モデルをTFLite Edge TPU形式にエクスポートするには、次の手順に従ってください。
使用法
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TFLite Edge TPU format
model.export(format="edgetpu") # creates 'yolo11n_full_integer_quant_edgetpu.tflite'
# Load the exported TFLite Edge TPU model
edgetpu_model = YOLO("yolo11n_full_integer_quant_edgetpu.tflite")
# Run inference
results = edgetpu_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TFLite Edge TPU format
yolo export model=yolo11n.pt format=edgetpu # creates 'yolo11n_full_integer_quant_edgetpu.tflite'
# Run inference with the exported model
yolo predict model=yolo11n_full_integer_quant_edgetpu.tflite source='https://ultralytics.com/images/bus.jpg'
モデルを他の形式にエクスポートする方法の詳細については、エクスポートガイドを参照してください。
YOLO11 モデルを TFLite Edge TPU にエクスポートする利点は何ですか?
YOLO11モデルをTFLite Edge TPUにエクスポートすると、いくつかの利点があります。
- 最適化されたパフォーマンス: 最小限の消費電力で高速ニューラルネットワークパフォーマンスを実現します。
- レイテンシーの削減: クラウドへの依存を必要とせずに、ローカルでデータを迅速に処理します。
- プライバシーの強化: ローカル処理により、ユーザーデータはプライベートかつ安全に保たれます。
これにより、デバイスの電力と計算リソースが限られているエッジコンピューティングでのアプリケーションに最適です。エクスポートする必要がある理由の詳細をご覧ください。
TFLite Edge TPUモデルをモバイルおよび組み込みデバイスにデプロイできますか?
はい、TensorFlow Lite Edge TPUモデルは、モバイルおよび組み込みデバイスに直接デプロイできます。このデプロイアプローチにより、モデルはハードウェア上で直接実行され、より高速で効率的な推論が提供されます。統合の例については、Raspberry PiへのCoral Edge TPUのデプロイに関するガイドをご覧ください。
TFLite Edge TPUモデルの一般的なユースケースは何ですか?
TFLite Edge TPU モデルの一般的なユースケース:
- スマートカメラ: リアルタイムの画像およびビデオ分析を強化します。
- IoTデバイス:スマートホームおよび産業オートメーションを可能にします。
- ヘルスケア: 医療画像処理と診断を加速します。
- 小売: 在庫管理と顧客行動分析の改善。
これらのアプリケーションは、TFLite Edge TPU モデルの高性能と低消費電力の恩恵を受けます。詳細については、usage scenarios をご覧ください。
TFLite Edge TPUモデルのエクスポートまたはデプロイ中に発生する問題をトラブルシューティングするにはどうすればよいですか?
TFLite Edge TPUモデルのエクスポートまたはデプロイ中に問題が発生した場合は、トラブルシューティングのヒントについて、一般的な問題に関するガイドを参照してください。このガイドでは、スムーズな動作を保証するための一般的な問題と解決策について説明します。さらにサポートが必要な場合は、ヘルプセンターをご覧ください。