LiteRT Python Wheel パッケージをビルドする

このページでは、LiteRT tflite_runtime Python をビルドする方法について説明します。 x86_64 および各種 ARM デバイス向けのライブラリが用意されています。

次の手順は、Ubuntu 16.04.3 64 ビット PC(AMD64)でテストされています 、macOS Catalina(x86_64)、TensorFlow 用の Docker イメージ tensorflow/tensorflow:devel.

前提条件

CMake のインストールと、TensorFlow のソースコードのコピーが必要です。以下をご確認ください。 CMake で LiteRT をビルドする ページをご覧ください。

ワークステーション用の PIP パッケージをビルドするには、次のコマンドを実行します。 使用できます。

PYTHON=python3 tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh native

ARM クロス コンパイル

ARM クロスコンパイルには、Docker を使用することをおすすめします。 クロスビルド環境を設定しますまた、これを把握するには target オプションが必要です。 構成する必要があります

Makefile tensorflow/lite/tools/pip_package/Makefile にヘルパーツールがあります ビルド済みの Docker コンテナを使用してビルドコマンドを呼び出せます。 Docker ホストマシンでビルドするには、次のようにビルドコマンドを実行します。

make -C tensorflow/lite/tools/pip_package docker-build \
  TENSORFLOW_TARGET=<target> PYTHON_VERSION=<python3 version>

使用可能なターゲット名

tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh スクリプトが必要 ターゲット アーキテクチャを指定します。サポートされている できます。

ターゲット ターゲット アーキテクチャ コメント
ARMHF NEON 対応 ARMv7 VFP Raspberry Pi 3 および 4 に対応
rpi0 ARMv6 Raspberry Pi Zero に対応
aarch64 aarch64(ARM 64 ビット) Coral Mendel Linux 4.0
Raspberry Pi、Ubuntu Server 20.04.01 LTS 64 ビット
ネイティブ ワークステーション 「-mnative」を指定してビルドする最適化
デフォルト ワークステーション デフォルトのターゲット

ビルド例

使用できるコマンドの例をいくつか示します。

Python 3.7 の armhf ターゲット

make -C tensorflow/lite/tools/pip_package docker-build \
  TENSORFLOW_TARGET=armhf PYTHON_VERSION=3.7

Python 3.8 用の aarch64 ターゲット

make -C tensorflow/lite/tools/pip_package docker-build \
  TENSORFLOW_TARGET=aarch64 PYTHON_VERSION=3.8

カスタム ツールチェーンの使用方法

生成されたバイナリがターゲットと互換性がない場合は、 独自のツールチェーンを使用するか、カスタムビルドフラグを指定します。( この ターゲット環境を把握するため)では、環境変数に tensorflow/lite/tools/cmake/download_toolchains.sh: 独自のツールチェーンを使用します。 ツールチェーン スクリプトでは、次の 2 つの変数を build_pip_package_with_cmake.sh スクリプト。

変数 目的
ARMCC_PREFIX ツールチェーン接頭辞を定義 arm-linux-gnueabihf-
ARMCC_FLAGS コンパイル フラグ -march=armv7-a -mfpu=neon-vfpv4