Linux ベースのデバイスで Python を使用するためのクイックスタートガイド

TensorFlow Lite と Python の使用は、Raspberry PiEdge TPU を使用した Coral デバイス などの Linux ベースの組み込みデバイスに最適です。

このページでは、Python で TensorFlow Lite モデルをすぐに実行できるようにする方法を説明します。必要なのは、TensorFlow Lite に変換された TensorFlow モデルのみです。(変換済みのモデルがまだ用意されていない場合は、以下にリンクされた例で使用されているモデルを使って実験できます。)

TensorFlow Lite ランタイムパッケージについて

TensorFlow Lite モデルを Python で素早く実行できるようにするには、TensorFlow パッケージ全体の代わりに TensorFlow Lite インタプリタのみをインストールすることができます。この簡略化された Python パッケージは tflite_runtime と呼ばれています。

この tflite_runtime のパッケージは、TensorFlow のフルパッケージのわずか一部のサイズで、TensorFlow Lite で推論を実行するために最小限必要なコードのみが含まれます。含まれているのは、Interpreter Python クラスのみです。パッケージサイズが小さいため、.tflite モデルの実行のみが必要であり、大規模な TensorFlow ライブラリによるディスクスペースの浪費を避ける場合に理想的と言えます。

注意: TensorFlow Lite Converter などの他の Python API にアクセスする必要がある場合、完全な TensorFlow パッケージをインストールする必要があります。tflite_runtime パッケージには、Select TF 演算(https://www.tensorflow.org/lite/guide/ops_select)などが含まれていません。モデルに Select TF 演算への依存関係が含まれる場合は、代わりに完全な TensorFlow パッケージを使用する必要があります。

Python 向け TensorFlow Lite のインストール

Linux では pip を使用してインストールできます。

python3 -m pip install tflite-runtime

サポートされているプラットフォーム

tflite-runtime Python ホイールは、事前に構築された状態で以下のプラットフォームに提供されています。

  • Linux armv7l(例: Raspberry Pi 2、3、4、および Raspberry Pi OS 32 ビットを実行する Zero 2)
  • Linux aarch64(例: Debian ARM64 を実行する Raspberry Pi 3、4)
  • Linux x86_64

他のプラットフォームで TensorFlow Lite モデルを実行する場合は、完全な TensorFlow パッケージを使用するか、ソースから tflite-runtime パッケージを構築します

Coral Edge TPU で TensorFlow を使用している場合は、適切な Coral セットアップドキュメントに従う必要があります。

注意: Debian パッケージ python3-tflite-runtime の更新サポートは終了しています。最新の Debian パッケージは TF バージョン 2.5 用であり、以前の手順でインストール可能です。

注意: Windows と macOS では、事前構築済みの tflite-runtime ホイールのリリースが終了しています。これらのプラットフォームでは、完全な TensorFlow パッケージを使用するか、ソースから tflite-runtime パッケージを構築してください。

tflite_runtime を使用して推論を実行する

そのため、tensorflow モジュールから Interpreter をインポートする代わりに、tflite_runtime からインポートする必要があります。

たとえば、上記のパッケージをインストールした後に、label_image.py ファイルをコピーして実行するとします。tensorflow ライブラリがインストールされていないため、これは失敗するでしょう。これを修正するには、ファイルの次の行を編集します。

import tensorflow as tf

上記を次のように編集します。

import tflite_runtime.interpreter as tflite

また、次の行も変更します。

interpreter = tf.lite.Interpreter(model_path=args.model_file)

上記を次のように変更します。

interpreter = tflite.Interpreter(model_path=args.model_file)

もう一度 label_image.py を実行してください。そうです!TensorFlow Lite モデルを実行できるようになりました。

今後の学習