ヘルプKaggleにTensorFlowグレートバリアリーフを保護チャレンジに参加

TensorFlow LitePythonホイールパッケージをビルドする

このページには、TensorFlow Liteの作成方法について説明しtflite_runtime x86_64版とさまざまなARMデバイス用のPythonライブラリを。

次の手順では、Ubuntuの16.04.3 64ビットPC(AMD64)、MacOSのカタリナ(x86_64版)とTensorFlow develのドッカー画像上でテストされているのdevel:tensorflow / tensorflow

前提条件

CMakeをインストールし、TensorFlowソースコードのコピーをインストールする必要があります。ご確認くださいcmakeののでビルドTensorFlow Liteの詳細ページ。

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

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

ARMクロスコンパイル

ARMクロスコンパイルの場合、クロスビルド環境のセットアップが容易になるため、Dockerを使用することをお勧めします。また、あなたが必要とするtargetターゲットアーキテクチャを把握するためのオプションを。

ヘルパースクリプトがありtensorflow/tools/ci_build/ci_build.sh事前定義されたドッカーコンテナを使用して、ビルドコマンドを起動するために利用できます。ドッカーホストマシン上で、あなたがビルドコマンドを実行することができcontainer名とtarget以下のように名前。

tensorflow/tools/ci_build/ci_build.sh <container> \
  tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh <target>

利用可能なDockerコンテナ

ターゲットのPythonインタープリターバージョンにARMクロスビルドコンテナーを選択する必要があります。サポートされているコンテナのリストは次のとおりです。

容器サポートされているPythonバージョン
PI-PYTHON37 Python 3.7
PI-PYTHON38 Python 3.8
PI-PYTHON39 Python 3.9

利用可能なターゲット名

tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.shスクリプトは、ターゲット・アーキテクチャを把握するターゲット名を必要とします。サポートされているターゲットのリストは次のとおりです。

目標ターゲットアーキテクチャコメント
armhfネオンを備えたARMv7VFP Raspberry Pi3および4と互換性があります
rpi0 ARMv6 Raspberry PiZeroと互換性があります
aarch64 aarch64(ARM 64ビット)コーラルメンデルLinux4.0
ラズベリーパイのUbuntuサーバー20.04.01 LTS 64ビット
ネイティブワークステーション「-mnative」最適化で構築されます
ワークステーションデフォルトのターゲット

ビルド例

使用できるコマンドの例を次に示します。

Python3.7のarmhfターゲット

tensorflow/tools/ci_build/ci_build.sh PI-PYTHON37 \
  tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh armhf

Python3.8のaarch64ターゲット

tensorflow/tools/ci_build/ci_build.sh PI-PYTHON38 \
  tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh aarch64

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

生成されたバイナリがターゲットと互換性がない場合は、独自のツールチェーンを使用するか、カスタムビルドフラグを提供する必要があります。 (チェックこれをその場合は、あなたのターゲット環境を理解するために)、あなたは変更する必要があり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