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'
エクスポートの引数
議論 | タイプ | デフォルト | 説明 |
---|---|---|---|
format |
str |
'edgetpu' |
エクスポートされたモデルのターゲットフォーマットで、さまざまな展開環境との互換性を定義します。 |
imgsz |
int または tuple |
640 |
モデル入力に必要な画像サイズ。正方形画像の場合は整数,正方形画像の場合はタプルになります. (height, width) 具体的な寸法については |
エクスポートプロセスの詳細については、Ultralytics ドキュメントのエクスポートに関するページをご覧ください。
エクスポートされたYOLO11 TFLite EdgeTPU モデルの展開
Ultralytics YOLO11 モデルをTFLite EdgeTPU フォーマットにエクスポートした後、デプロイすることができます。TFLite EdgeTPU モデルを実行するための最初のステップとして推奨されるのは、YOLO("model_edgetpu.tflite") メソッドを使用することです。
ただし、TFLite EdgeTPU モデルの展開に関する詳しい説明については、以下のリソースをご覧ください:
-
コーラルエッジTPU 、Raspberry Piに搭載。Ultralytics YOLO11:機械学習機能を強化するためにCoral Edge TPUをRaspberry Piに統合する方法をご覧ください。
-
コード例:実践的なTensorFlow EdgeTPU の導入例にアクセスし、プロジェクトをスタートさせましょう。
-
エッジTPU で推論を実行する。Python:TensorFlow LitePython API を EdgeTPU アプリケーションに使用する方法について、セットアップと使用ガイドラインを含めて説明します。
概要
このガイドでは、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 モデルのエクスポートまたはデプロイ中に問題が発生した場合、トラブルシューティングのヒントについては、「よくある問題」ガイドを参照してください。このガイドでは、スムーズな操作に役立つ一般的な問題と解決策を説明しています。その他のサポートについては、ヘルプセンターをご覧ください。