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

Raspberry Pi用のTensorFlow Liteをビルドする

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

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

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

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

ステップ1.公式のRaspberry Piクロスコンパイルツールチェーンを複製する

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

build_rpi_lib.shスクリプトはTFLite MakefileでのMakeのラッパーであるため、追加の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 Pi Zero用の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

Raspberry Piでネイティブにコンパイルする

次の手順は、Raspberry Pi Zero、Raspbian 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.これで、TensorFlow Liteを次のようにコンパイルできるようになります。

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

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

ARM GCCツールチェーンをBazelで使用して、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 C APIページを確認してください。

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