TensorFlow Lite

TensorFlow Lite は、デベロッパーがモバイル、組み込み、エッジデバイスでモデルを実行できるようにすることで、オンデバイスの機械学習を可能にするツールセットです。

主な機能

  • オンデバイスの機械学習向けに最適化: レイテンシ(サーバーへのラウンドトリップがない)、プライバシー(個人データがデバイスから離れない)、接続(インターネット接続が不要)、サイズ(モデルとバイナリサイズの縮小)、消費電力(効率的な推論とネットワーク接続の欠如)の 5 つの主要な制約に対処することで、オンデバイスの機械学習向けに最適化されています。
  • 複数プラットフォームのサポート: Android デバイス、iOS デバイス、組み込み Linuxマイクロコントローラに対応しています。
  • Java、Swift、Objective-C、C++、Python などの多様な言語のサポート
  • ハードウェア アクセラレーションとモデルの最適化による高パフォーマンス

開発ワークフロー

以下のガイドでは、ワークフローの各ステップについて説明し、詳細な手順へのリンクを提供します。

1. TensorFlow Lite モデルを生成する

TensorFlow Lite モデルは、FlatBuffers.tflite ファイル拡張子で識別)と呼ばれる、効率的で特別なポータブルな形式で表現されます。これには、サイズの縮小(コード フットプリントが小さい)や推論の高速化(追加の解析/展開ステップを必要とせずにデータに直接アクセスできる)など、TensorFlow のプロトコル バッファ モデル形式よりも多くの利点があります。これにより、コンピューティング リソースとメモリリソースが限られているデバイスで TensorFlow Lite を効率的に実行できます。

TensorFlow Lite モデルには、オンデバイスの推論中に前処理および後処理パイプラインを自動生成するために、人が読める形式のモデル説明と機械が読み取れるデータを持つメタデータを含めることができます。詳しくは、メタデータの追加をご覧ください。

TensorFlow Lite モデルは、次の方法で生成できます。

  • 既存の TensorFlow Lite モデルを使用する: 既存のモデルを選択するには、TensorFlow Lite の例をご覧ください。モデルにはメタデータが含まれる場合と含まれない場合があります。

  • TensorFlow モデルを TensorFlow Lite モデルに変換する: TensorFlow Lite コンバータを使用して TensorFlow モデルを TensorFlow Lite モデルに変換します。変換中に、量子化などの最適化を適用して、モデルサイズとレイテンシを低減し、精度の低下を最小限に、またはゼロにできます。デフォルトでは、すべてのモデルにメタデータは含まれません。

2. 推論を実行する

推論とは、デバイス上で TensorFlow Lite モデルを実行し、入力データに基づいて予測を行うプロセスを指します。推論は、モデルタイプに基づいて次の方法で実行できます。

Android デバイスと iOS デバイスでは、ハードウェア アクセラレーションを使用してパフォーマンスを改善できます。どちらのプラットフォームでも GPU Delegate を使用でき、iOS では Core ML Delegate を使用できます。新しいハードウェア アクセラレータのサポートを追加するには、独自のデリゲートを定義します。

始める

対象デバイスに応じて、次のガイドをご覧ください。

技術的な制約

  • すべての TensorFlow モデルを TensorFlow Lite モデルに変換することはできません演算子の互換性をご覧ください。