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

RaspberryPi用のTensorFlowLiteをビルドする

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

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

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

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

ステップ1.公式のRaspberryPiクロスコンパイルツールチェーンのクローンを作成します

git clone https://github.com/raspberrypi/tools.git rpi_tools

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

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

ステップ3.TensorFlowリポジトリのルートで次のスクリプトを実行してダウンロードします

すべてのビルド依存関係:

cd tensorflow_src && ./tensorflow/lite/tools/make/download_dependencies.sh

ステップ4a。 Raspberry Pi 2、3、および4用のARMv7バイナリをビルドするには

PATH=../rpi_tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin:$PATH \
  ./tensorflow/lite/tools/make/build_rpi_lib.sh

TFLite Makefileを使用したMakeのラッパーであるため、 build_rpi_lib.shスクリプトに追加のMakeオプションまたはターゲット名を追加できます。考えられるオプションは次のとおりです。

./tensorflow/lite/tools/make/build_rpi_lib.sh clean # clean object files
./tensorflow/lite/tools/make/build_rpi_lib.sh -j 16 # run with 16 jobs to leverage more CPU cores
./tensorflow/lite/tools/make/build_rpi_lib.sh label_image # # build label_image binary

ステップ4b。 Raspberry PiZero用のARMv6バイナリをビルドするには

PATH=../rpi_tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin:$PATH \
  ./tensorflow/lite/tools/make/build_rpi_lib.sh TARGET_ARCH=armv6

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

次の手順は、Raspberry Pi Zero、Raspberry Pi OS GNU / Linux 10(Buster)、gccバージョン8.3.0(Raspbian 8.3.0-6 + rpi1)でテストされています。

TensorFlow Liteをネイティブにコンパイルするには、次の手順に従います。

手順1.Raspberry Piにログインし、ツールチェーンをインストールします

sudo apt-get install build-essential

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

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

ステップ3.TensorFlowリポジトリのルートで次のスクリプトを実行して、すべてのビルド依存関係をダウンロードします

cd tensorflow_src && ./tensorflow/lite/tools/make/download_dependencies.sh

ステップ4.これで、TensorFlowLiteを次のコマンドでコンパイルできるようになります。

./tensorflow/lite/tools/make/build_rpi_lib.sh

Bazelを使用したarmhfのクロスコンパイル

BAzelでARMGCC ツールチェーンを使用して、Raspberry Pi 2、3、および4と互換性のあるarmhf共有ライブラリを構築できます。

次の手順は、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.Raspberry Pi 2、3、および4用のARMv7バイナリをビルドします

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

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

C ++ライブラリ
bazel build --config=elinux_armhf -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