TensorFlow Lite コンバータ

TensorFlow Lite コンバータを使用すると、TensorFlow モデルが最適化された FlatBuffer 形式に変換され、TensorFlow Lite インタープリタで使用できるようになります。

FlatBuffers

FlatBuffer は、効率的な処理を行えるオープンソースのクロスプラットフォーム シリアル化ライブラリです。プロトコル バッファに似ていますが、データにアクセスするための二次的表現への解析、展開の手順を必要とせず、オブジェクトごとにメモリを割り当てる必要がありません。FlatBuffers のコード フットプリントは、プロトコル バッファよりも桁違いに小さくなっています。

モデルのトレーニングからデバイスへのデプロイまで

TensorFlow Lite コンバータは、TensorFlow モデルから TensorFlow Lite の FlatBuffer ファイル(.tflite)を生成します。

コンバータは次の入力形式をサポートしています。

  • SavedModels
  • フリーズ済み GraphDef: freeze_graph.py で生成されたモデル。
  • tf.keras HDF5 モデル。
  • tf.Session から得られた任意のモデル(Python API のみ)。

TensorFlow Lite の FlatBuffer ファイルがクライアント デバイスにデプロイされ、TensorFlow Lite インタープリタによって、デバイス上で推論が圧縮モデルを使用して行われます。この際の変換プロセスは、下図のとおりです。

TFLite コンバータのワークフロー

オプション

TensorFlow Lite コンバータは、次のいずれかの方法で使用できます。

  • Python推奨): Python API を使用すると、モデル開発パイプラインの一部としてモデルを変換しやすくなり、互換性の問題を初期段階で軽減できます。
  • コマンドライン