このページでは、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 |