Python での TensorFlow Lite の使用は、Raspberry Pi や Edge TPU を搭載した Coral デバイスなど、Linux ベースの組み込みデバイスに最適です。
このページでは、Python で TensorFlow Lite モデルの実行をわずか数分で開始する方法について説明します。必要なものは、TensorFlow Lite に変換された TensorFlow モデルだけです。(モデルをまだ変換していない場合は、以下のリンク先の例で提供されているモデルを使用してテストできます)。
TensorFlow Lite ランタイム パッケージについて
Python で TensorFlow Lite モデルの実行をすぐに開始するには、すべての TensorFlow パッケージではなく、TensorFlow Lite インタープリタのみをインストールします。この簡素化された Python パッケージを tflite_runtime
と呼びます。
tflite_runtime
パッケージは、完全な tensorflow
パッケージのサイズの 1 分の 1 であり、TensorFlow Lite で推論を実行するために必要な最小限のコード(主に Interpreter
Python クラス)が含まれています。この小さなパッケージは、.tflite
モデルを実行することのみを行い、大規模な TensorFlow ライブラリでディスク容量を浪費したくない場合に最適です。
TensorFlow Lite for Python をインストールする
pip を使用して Linux にインストールできます。
python3 -m pip install tflite-runtime
対応プラットフォーム
tflite-runtime
Python ホイールは、次のプラットフォーム用に事前構築され、提供されています。
- Linux armv7l(例: Raspberry Pi OS 32 ビットを実行する Raspberry Pi 2、3、4、Zero 2)
- Linux aarch64(例: Raspberry Pi 3、4 は Debian ARM64)
- Linux x86_64
他のプラットフォームで TensorFlow Lite モデルを実行する場合は、完全な TensorFlow パッケージを使用するか、ソースから tflite-runtime パッケージをビルドする必要があります。
Coral Edge TPU で TensorFlow を使用している場合は、適切な Coral のセットアップ ドキュメントに従ってください。
tflite_runtime を使用して推論を実行する
Interpreter
を tensorflow
モジュールからインポートする代わりに、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 モデルを実行しています。
詳細
Interpreter
API の詳細については、Python でモデルを読み込んで実行するをご覧ください。Raspberry Pi を使用している場合は、TensorFlow Lite を使用して Raspberry Pi でオブジェクト検出を実行する方法に関する動画シリーズをご覧ください。
Coral ML アクセラレータを使用している場合は、GitHub にある Coral の例をご覧ください。
他の TensorFlow モデルを TensorFlow Lite に変換するには、TensorFlow Lite コンバータをご覧ください。
tflite_runtime
wheel を作成する場合は、TensorFlow Lite Python Wheel パッケージのビルドをご覧ください。