Ultralytics YOLO27:
Get Started

YOLO26モデルからTFLite Edge TPU形式にエクスポートする方法#

モバイルや組み込みシステムなど、計算能力が限られたデバイスにコンピュータービジョンモデルをデプロイするのは容易ではありません。高速なパフォーマンス向けに最適化されたモデル形式を使用すると、プロセスを簡素化できます。TensorFlow Lite Edge TPU、またはTFLite Edge TPUモデル形式は、ニューラルネットワークで高速なパフォーマンスを実現しながら、消費電力を最小限に抑えるよう設計されています。

TFLite Edge TPU形式へのエクスポート機能を使うと、Ultralytics YOLO26モデルを高速かつ低消費電力の推論向けに最適化できます。このガイドでは、モデルをTFLite Edge TPU形式に変換する方法を説明し、さまざまなモバイルデバイスや組み込みデバイスでモデルを効果的に動作させる手順を紹介します。

TFLite Edge TPUにエクスポートする理由#

TensorFlow Edge TPUにモデルをエクスポートすると、機械学習タスクを高速かつ効率的に実行できます。この技術は、電力、計算リソース、接続性が限られたアプリケーションに適しています。Edge TPUはGoogleのハードウェアアクセラレーターです。エッジデバイス上でTensorFlow Liteモデルの処理を高速化します。以下の画像は、関連するプロセスの例を示しています。

TensorFlow Lite Edge TPU compilation workflow

Edge TPUは量子化モデルに対応しています。量子化によって精度を大きく損なうことなくモデルを小型化し、高速化できます。エッジコンピューティングの限られたリソースに適しており、レイテンシを低減してローカルでのデータ処理を高速化することで、アプリケーションの応答性を高めます。また、データをリモートサーバーに送信せずローカルで処理するため、ユーザーデータのプライバシーとセキュリティも保護されます。

TFLite Edge TPUの主な機能#

TFLite Edge TPUが開発者にとって優れたモデル形式となる主な機能は次のとおりです。

  • エッジデバイス向けのパフォーマンス最適化: TFLite Edge TPUは、量子化、モデル最適化、ハードウェアアクセラレーション、コンパイラー最適化により、高速なニューラルネットワーク処理を実現します。簡素なアーキテクチャにより、サイズの縮小とコスト効率の向上にもつながります。

  • 高い演算スループット: TFLite Edge TPUは、専用ハードウェアによるアクセラレーションと効率的なランタイム実行を組み合わせ、高い演算スループットを実現します。エッジデバイス上で厳しい性能要件を満たす機械学習モデルをデプロイするのに適しています。

  • 効率的な行列演算: TensorFlow Edge TPUは、ニューラルネットワークの計算で重要となる行列演算に最適化されています。この効率性は、特に多数かつ複雑な行列の乗算や変換を必要とする機械学習モデルで重要です。

TFLite Edge TPUのデプロイオプション#

YOLO26モデルをTFLite Edge TPU形式にエクスポートする方法を説明する前に、TFLite Edge TPUモデルが通常どこで使用されるかを見てみましょう。

TFLite Edge TPUは、機械学習モデル向けに次のようなさまざまなデプロイオプションを提供します。

  • デバイス上へのデプロイ: TensorFlow Edge TPUモデルは、モバイルデバイスや組み込みデバイスに直接デプロイできます。デバイス上にデプロイすると、モデルをアプリケーションバンドルに組み込むか、必要に応じてダウンロードすることで、クラウド接続を必要とせずにハードウェア上で直接実行できます。

  • ハイブリッドデプロイ: ハイブリッド方式では、デバイス上へのデプロイとクラウドへのデプロイを組み合わせ、機械学習モデルをデプロイするための柔軟でスケーラブルなソリューションを提供します。迅速な応答を実現するデバイス上の処理と、より複雑な計算を担うクラウドコンピューティングを組み合わせられる点がメリットです。

対応タスク#

Edge TPUエクスポートは、7つあるUltralyticsのタスクのうち6つをサポートします。セマンティックセグメンテーションを利用できるのはYOLO26のみです。このヘッドを搭載しているのはYOLO26ファミリーだけです。深度推定はサポートされていません。INT8モデルがEdge TPUコンパイラーで解析できないEXP v2オペレーターを出力するためです。

タスクYOLOv8YOLO11YOLO26
検出✅✅✅
セグメンテーション✅✅✅
セマンティック❌❌✅
深度❌❌❌
分類✅✅✅
姿勢推定✅✅✅
OBB✅✅✅

Edge TPUコンパイラーは、サポート対象の演算をアクセラレーターに割り当て、残りをCPU上で実行するため、タスクがサポートされていても、すべての演算がTPU上で実行されるわけではありません。

YOLO26モデルをTFLite Edge TPUにエクスポートする#

YOLO26モデルをTensorFlow Edge TPUに変換すると、モデルとの互換性を高め、デプロイの柔軟性を広げることができます。

インストール#

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

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

インストール手順の詳細とベストプラクティスについては、Ultralyticsのインストールガイドをご覧ください。YOLO26に必要なパッケージのインストールで問題が発生した場合は、解決策とヒントが記載されたよくある問題のガイドをご確認ください。

使用方法#

すべてのUltralytics YOLO26モデルは、追加設定なしでエクスポートできるように設計されているため、希望するデプロイワークフローに簡単に統合できます。アプリケーションに最適な設定を選ぶには、対応するエクスポート形式と設定オプションの一覧をご覧ください。

TFLite Edge TPU形式は、エクスポート、予測、検証の各モードをサポートします。推論と検証はCoral Edge TPUハードウェア上で実行されます。モデルをエクスポートした後、エクスポート済みモデルを読み込んで推論を実行するか、精度を検証してください。

エクスポート
from ultralytics import YOLO

# YOLO26モデルを読み込みます
model = YOLO("yolo26n.pt")

# モデルをTFLite Edge TPU形式にエクスポート
model.export(format="edgetpu")  # 'yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite'を作成
推論
from ultralytics import YOLO

# エクスポート済みのTFLite Edge TPUモデルを読み込む
model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite")

# 推論を実行
results = model("https://ultralytics.com/images/bus.jpg")
検証
from ultralytics import YOLO

# エクスポート済みのTFLite Edge TPUモデルを読み込む
model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite")

# COCO8データセットで精度を検証します
metrics = model.val(data="coco8.yaml")

エクスポート引数#

引数種類デフォルト説明
formatstr'edgetpu'エクスポートしたモデルのターゲットフォーマットです。さまざまなデプロイ環境との互換性を定義します。
imgszintまたはtuple640モデル入力の画像サイズです。正方形画像の場合は整数、特定のサイズの場合はタプル(height, width)を指定できます。
quantizeintまたはstr8/自動量子化の精度。Edge TPUでは8 (INT8)が必須で、自動的に有効になります。これによりモデルが圧縮され、エッジデバイスでの推論が高速化され、精度の低下も最小限に抑えられます。非推奨のhalf/int8フラグを置き換えます。
opsetintNone中間ONNXグラフのONNX opsetバージョンを指定します。設定しない場合は、サポートされている最新バージョンが使用されます。
datastrNone量子化に必須のデータセットのYAMLへのパスです。分類の場合は、代わりにデータセットディレクトリまたは組み込みデータセット名を指定します。quantize=8を指定しない場合、Ultralyticsはモデルタスクに応じたデフォルトのキャリブレーションデータセットを選択します。
fractionfloat、int、またはlist1.0キャリブレーション用サブセットを、比率、画像数、または[train, val, test]の比率/件数として指定します。2項目のリストではtestがすべて含まれ、0では除外されます。
devicestrNoneエクスポートに使用するデバイスを指定します: CPU (device=cpu)。
ヒント

Edge TPUにエクスポートする際は、x86 Linuxマシンを使用してください。

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

エクスポート済みYOLO26 TFLite Edge TPUモデルのデプロイ#

Ultralytics YOLO26モデルをTFLite Edge TPU形式に正常にエクスポートできたら、モデルをデプロイできます。TFLite Edge TPUモデルを実行する際の最初の手順として推奨される方法は、前述の使用例のコードスニペットに示すYOLO("model_edgetpu.tflite")メソッドを使用することです。

TFLite Edge TPUモデルのデプロイに関する詳しい手順については、次のリソースをご覧ください。

概要#

このガイドでは、Ultralytics YOLO26モデルをTFLite Edge TPU形式にエクスポートする方法を説明しました。上記の手順に従うことで、コンピュータービジョンアプリケーションの速度と性能を向上させることができます。

使用方法の詳細については、Coral Edge TPU公式ウェブサイトをご覧ください。

また、Ultralytics YOLO26の他のインテグレーションに関する詳細は、インテグレーションガイドページをご覧ください。役立つリソースや知見を確認できます。

よくある質問#

  • YOLO26モデルをTFLite Edge TPU形式にエクスポートするには、次の手順に従ってください。

    使用方法
    from ultralytics import YOLO
    
    # YOLO26モデルを読み込みます
    model = YOLO("yolo26n.pt")
    
    # モデルをTFLite Edge TPU形式にエクスポート
    model.export(format="edgetpu")  # 'yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite'を作成
    
    # エクスポート済みのTFLite Edge TPUモデルを読み込む
    edgetpu_model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite")
    
    # 推論を実行
    results = edgetpu_model("https://ultralytics.com/images/bus.jpg")

    他の形式へのモデルエクスポートの詳細については、エクスポートガイドをご覧ください。

  • YOLO26モデルをTFLite Edge TPUにエクスポートすると、次のようなメリットがあります。

    • パフォーマンスの最適化: 消費電力を最小限に抑えながら、高速なニューラルネットワーク処理を実現できます。
    • レイテンシの短縮: クラウドに依存せず、データをローカルで迅速に処理できます。
    • プライバシーの強化: ローカルで処理することで、ユーザーデータのプライバシーとセキュリティを保護できます。

    そのため、デバイスの電力や演算リソースが限られるエッジコンピューティングのアプリケーションに最適です。エクスポートすべき理由の詳細をご覧ください。

  • はい、TensorFlow Lite Edge TPUモデルはモバイルデバイスや組み込みデバイスに直接デプロイできます。この方法ではモデルをハードウェア上で直接実行できるため、推論を高速かつ効率的に行えます。統合例については、Raspberry PiへのCoral Edge TPUのデプロイガイドをご覧ください。

  • TFLite Edge TPUモデルの一般的なユースケースには、次のようなものがあります。

    • スマートカメラ: 画像や動画のリアルタイム分析を強化します。
    • IoTデバイス: スマートホームや産業オートメーションを実現します。
    • ヘルスケア: 医用画像処理と診断を高速化します。
    • 小売: 在庫管理と顧客行動分析を改善します。

    これらのアプリケーションでは、TFLite Edge TPUモデルの高いパフォーマンスと低消費電力を活用できます。ユースケースの詳細をご覧ください。

  • TFLite Edge TPUモデルのエクスポート中やデプロイ中に問題が発生した場合は、トラブルシューティングのヒントをまとめた一般的な問題のガイドをご覧ください。このガイドでは、円滑な動作を確保するための一般的な問題と解決策を紹介しています。追加のサポートについては、ヘルプセンターをご利用ください。

コメント