このページは Cloud Translation API によって翻訳されました。
Switch to English

ARM64ボード用のTensorFlowLiteをビルドする

このページでは、ARM64ベースのコンピューター用のTensorFlowLite静的ライブラリと共有ライブラリを構築する方法について説明します。 TensorFlow Liteを使用してモデルを実行し始めたい場合、最速のオプションは、 Pythonクイックスタートに示されているようにTensorFlowLiteランタイムパッケージをインストールすることです。

Makeを使用したARM64のクロスコンパイル

適切なビルド環境を確保するために、 tensorflow / tensorflow:develなどのTensorFlowDockerイメージの1つを使用することをお勧めします。

開始するには、ツールチェーンとライブラリをインストールします。

sudo apt-get update
sudo apt-get install crossbuild-essential-arm64

Dockerを使用している場合は、 sudo使用できません。

次に、TensorFlowリポジトリ( https://github.com/tensorflow/tensorflow )をgit-cloneします。TensorFlowDockerイメージを使用している場合、リポジトリはすでに/tensorflow_src/提供されています。次に、すべてのビルド依存関係をダウンロードするためのTensorFlowリポジトリ:

./tensorflow/lite/tools/make/download_dependencies.sh

これを行う必要があるのは1回だけであることに注意してください。

次に、コンパイルします。

./tensorflow/lite/tools/make/build_aarch64_lib.sh

これにより、静的ライブラリがtensorflow/lite/tools/make/gen/linux_aarch64/lib/libtensorflow-lite.aます。

ARM64でネイティブにコンパイル

これらの手順は、HardKernel Odroid C2、gccバージョン5.4.0でテストされました。

ボードにログインして、ツールチェーンをインストールします。

sudo apt-get install build-essential

次に、TensorFlowリポジトリ( https://github.com/tensorflow/tensorflow )をgit-cloneし、リポジトリのルートでこれを実行します。

./tensorflow/lite/tools/make/download_dependencies.sh

これを行う必要があるのは1回だけであることに注意してください。

次に、コンパイルします。

./tensorflow/lite/tools/make/build_aarch64_lib.sh

これにより、静的ライブラリがtensorflow/lite/tools/make/gen/linux_aarch64/lib/libtensorflow-lite.aます。

BAzelを使用したARM64のクロスコンパイル

BAzelでARMGCC ツールチェーンを使用して、ARM64共有ライブラリを構築できます。

次の手順は、Ubuntu 16.04.3 64ビットPC(AMD64)およびTensorFlow devel docker image tensorflow / tensorflow:develでテストされています。

TensorFlow LiteをBazelとクロスコンパイルするには、次の手順に従います。

手順1.Bazelをインストールします

Bazelは、TensorFlowの主要なビルドシステムです。 Bazelビルドシステムの最新バージョンをインストールします。

ステップ2.TensorFlowリポジトリのクローンを作成する

git clone https://github.com/tensorflow/tensorflow.git tensorflow_src

ステップ3.ARM64バイナリをビルドする

Cライブラリ
bazel build --config=elinux_aarch64 -c opt //tensorflow/lite/c:libtensorflowlite_c.so

詳細については、 TensorFlow Lite CAPIページを確認してください。

C ++ライブラリ
bazel build --config=elinux_aarch64 -c opt //tensorflow/lite:libtensorflowlite.so

共有ライブラリは、 bazel-bin/tensorflow/lite/libtensorflowlite.soます。

現在、必要なすべてのヘッダーファイルを抽出する簡単な方法はないため、TensorFlowリポジトリからtensorflow / lite /にすべてのヘッダーファイルをインクルードする必要があります。さらに、FlatBuffersとAbseilのヘッダーファイルが必要になります。

ツールチェーンを使用して他のBazelターゲットを構築することもできます。ここにいくつかの有用なターゲットがあります。

  • // tensorflow / lite / tools / benchmark:benchmark_model
  • // tensorflow / lite / examples / label_image:label_image