YOLO11モデルからTFLite EdgeTPU 形式へのエクスポートを学ぶ
コンピュータビジョンモデルを、モバイルや組込みシステムのような計算能力に制限のあるデバイスに展開するのは、厄介なことです。より高速に動作するように最適化されたモデル形式を使用することで、プロセスを簡素化することができます。TensorFlow Lite EdgeTPUまたは TFLite EdgeTPU モデル形式は、ニューラル・ネットワークの高速性能を実現しながら、消費電力を最小限に抑えるように設計されています。
TFLite EdgeTPU フォーマットへのエクスポート機能により、Ultralytics YOLO11モデルを高速かつ低消費電力の推論用に最適化することができます。このガイドでは、モデルをTFLite EdgeTPU フォーマットに変換する手順を説明します。これにより、さまざまなモバイル機器や組み込み機器で、モデルがより簡単に優れたパフォーマンスを発揮できるようになります。
なぜTFLite EdgeTPU にエクスポートする必要があるのですか?
へのモデルのエクスポート TensorFlowエッジTPU は、機械学習タスクを高速かつ効率的にします。このテクノロジーは、パワー、コンピューティングリソース、接続性が限られたアプリケーションに適している。EdgeTPU は、Google によるハードウェア・アクセラレータである。エッジ・デバイス上のTensorFlow Liteモデルを高速化する。下の画像はそのプロセスの一例である。
エッジTPU は量子化されたモデルで動作する。量子化することで、精度をそれほど落とすことなく、モデルをより小さく、より速くすることができる。エッジ・コンピューティングの限られたリソースに最適で、待ち時間を短縮し、クラウドに依存することなくローカルで素早くデータを処理できるため、アプリケーションは迅速に対応できる。また、ローカル処理では、リモート・サーバーに送信されないため、ユーザー・データのプライベート性と安全性が保たれます。
TFLiteエッジの主な特徴TPU
以下は、TFLite EdgeTPU が開発者にとって素晴らしいモデルフォーマットの選択肢となる主な特徴です:
エッジデバイスでの最適化されたパフォーマンス:TFLite EdgeTPU は、量子化、モデルの最適化、ハードウェア・アクセラレーション、コンパイラの最適化により、高速なニューラル・ネットワーキングのパフォーマンスを実現します。その最小限のアーキテクチャは、小型化とコスト効率に貢献しています。
高い計算スループット:TFLite EdgeTPU は、専用のハードウェアアクセラレーションと効率的なランタイム実行を組み合わせることで、高い計算スループットを実現します。エッジデバイス上で厳しい性能要件を満たす機械学習モデルの展開に適しています。
効率的な行列計算 TensorFlow EdgeTPU は、ニューラルネットワークの計算で重要な行列演算に最適化されています。この効率性は、機械学習モデル、特に多数の複雑な行列の乗算と変換を必要とするモデルにおいて重要です。
TFLite Edgeの展開オプションTPU
YOLO11モデルをTFLite EdgeTPU フォーマットにエクスポートする方法に入る前に、TFLite EdgeTPU モデルが通常どこで使われるのかを理解しましょう。
TFLite EdgeTPU は、機械学習モデルのための様々な展開オプションを提供する:
オンデバイスでの展開:TensorFlow エッジTPU モデルは、モバイルデバイスや組み込みデバイスに直接デプロイすることができます。オンデバイスでの展開により、モデルはハードウェア上で直接実行され、クラウド接続の必要性がなくなります。
クラウドTensorFlow TPUによるエッジコンピューティング:エッジデバイスの処理能力が限られているシナリオでは、TensorFlow エッジTPUは、TPUを搭載したクラウドサーバーに推論タスクをオフロードすることができる。
ハイブリッド展開:ハイブリッド・アプローチは、オンデバイスとクラウドのデプロイメントを組み合わせたもので、機械学習モデルのデプロイメントに多用途でスケーラブルなソリューションを提供する。利点として、迅速な応答にはオンデバイス処理、より複雑な計算にはクラウド・コンピューティングが挙げられます。
YOLO11モデルをTFLite EdgeにエクスポートするTPU
YOLO11モデルをTensorFlow EdgeTPU に変換することで、モデルの互換性と展開の柔軟性を拡大できます。
インストール
必要なパッケージをインストールするには
インストールプロセスに関する詳しい説明とベストプラクティスについては、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'
サポートされているエクスポートオプションの詳細については、Ultralytics 配置オプションのドキュメントページを参照してください。
エクスポートされたYOLO11 TFLite EdgeTPU モデルの展開
Ultralytics YOLO11モデルをTFLite EdgeTPU フォーマットにエクスポートした後、デプロイすることができます。TFLite EdgeTPU モデルを実行するための最初のステップとして推奨されるのは、YOLO("model_edgetpu.tflite") メソッドを使うことです。
ただし、TFLite EdgeTPU モデルの展開に関する詳しい説明については、以下のリソースをご覧ください:
コーラルエッジTPU Ultralytics YOLO11でRaspberry Piを動かす:機械学習機能を強化するためにCoral Edge TPUをRaspberry Piに統合する方法をご覧ください。
コード例:実用的なTensorFlow EdgeTPU の導入例にアクセスし、プロジェクトをスタートさせましょう。
エッジTPU で推論を実行する。Python:TensorFlow LitePython API をエッジTPU アプリケーションに使用する方法について、セットアップと使用ガイドラインを含めて説明します。
概要
このガイドでは、Ultralytics YOLO11モデルをTFLite EdgeTPU フォーマットにエクスポートする方法を学びました。上記のステップに従うことで、コンピュータビジョンアプリケーションのスピードとパワーを向上させることができます。
使用方法の詳細については、EdgeTPU 公式ウェブサイトをご覧ください。
また、Ultralytics YOLO11のその他の統合については、統合ガイドページをご覧ください。そこでは、貴重なリソースや洞察を発見することができます。
よくあるご質問
YOLO11モデルをTFLite EdgeTPU フォーマットにエクスポートするには?
YOLO11モデルをTFLite EdgeTPU フォーマットにエクスポートするには、以下の手順に従います:
使用方法
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 EdgeTPU にエクスポートする利点は何ですか?
YOLO11モデルをTFLite EdgeTPU にエクスポートすると、いくつかの利点があります:
- 最適化されたパフォーマンス:最小限の消費電力で高速ニューラルネットワークパフォーマンスを実現。
- レイテンシーの削減:クラウドに依存することなく、迅速なローカルデータ処理を実現。
- プライバシーの強化:ローカル処理により、ユーザーデータはプライベートかつ安全に保たれます。
そのため、デバイスの電力や計算リソースが限られているエッジ・コンピューティングのアプリケーションに最適です。輸出する理由については、こちらをご覧ください。
TFLite EdgeTPU モデルをモバイル機器や組み込み機器に導入できますか?
はい、TensorFlow Lite EdgeTPU モデルは、モバイル機器や組み込み機器に直接展開することができます。このデプロイメントアプローチにより、モデルがハードウェア上で直接実行され、より高速で効率的な推論が可能になります。インテグレーション例については、Raspberry Pi上でのCoral EdgeTPU のデプロイメントガイドをご覧ください。
TFLite EdgeTPU モデルの一般的な使用例を教えてください。
TFLite EdgeTPU モデルの一般的な使用例には、以下のようなものがある:
- スマートカメラ:リアルタイムの画像・映像解析を強化。
- IoTデバイス:スマートホームと産業オートメーションの実現
- ヘルスケア医療用画像処理と診断の加速。
- 小売:在庫管理と顧客行動分析の改善
これらのアプリケーションは、TFLite EdgeTPU モデルの高性能と低消費電力のメリットを享受できます。使用シナリオの詳細をご覧ください。
TFLite EdgeTPU モデルのエクスポートまたはデプロイ中に問題が発生した場合のトラブルシューティング方法を教えてください。
TFLite EdgeTPU モデルのエクスポートまたはデプロイ中に問題が発生した場合、トラブルシューティングのヒントについては、「よくある問題」ガイドを参照してください。このガイドでは、スムーズな操作に役立つ一般的な問題と解決策を説明しています。その他のサポートについては、ヘルプセンターをご覧ください。