Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
tensorflow
GitHub Repository: tensorflow/docs-l10n
Path: blob/master/site/ja/lite/guide/build_arm.md
25118 views

ARM ボード用の TesorFlow Lite を構築する

このページでは、ARM を基盤としたコンピュータ向けに TensorFlow Lite ライブラリを構築する方法を説明します。

TensorFlow Lite では 2 つのビルドシステムがサポートされていますが、それぞれのビルドシステムがサポートする機能は同一ではありません。次の表を参考に、適切なビルドシステムを選んでください。

機能BazelCMake
事前定義済みツールチェーンarmhf、aarch64armel、armhf、aarch64
カスタムツールチェーン比較的使いにくい使いやすい
セレクト TF 演算サポート対象サポート対象外
GPU デリゲートAndroid のみOpenCL をサポートするすべてのプラットフォーム
XNNPackサポート対象サポート対象
Python Wheelサポート対象サポート対象
C APIサポート対象サポート対象
C++ APIBazel プロジェクトでサポートCMake プロジェクトでサポート

CMake を使用した ARM のクロスコンパイル

CMake プロジェクトがある場合、またはカスタムツールチェーンを使用する場合は、CMake を使ってクロスコンパイルをじっこうすることが推奨されます。これを行うための「CMake を使用した TensorFlow Lite クロスコンパイル」というページが別途用意されています。

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

Bazel プロジェクトがある場合、または TF 演算を使用する場合は、Bazel ビルドシステムの使用が推奨されます。ARM32/64 共有ライブラリを構築するには、統合されている ARM GCC 8.3 ツールチェーンを Bazel を使用します。

ターゲットアーキテクチャBazel 構成対応デバイス
armhf(ARM32)--config=elinux_armhfRPI3、32ビットの RPI4
: : : Raspberry Pi OS :
AArch64(ARM64)--config=elinux_aarch64Coral、Ubuntu 64ビット の RPI4
: : : bit :

注: 生成された共有ライブラリを実行するには、glibc 2.28 以降が必要です。

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

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

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

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

注意: TensorFlow Docker イメージを使用している場合、Bazel はすでに利用可能です。

手順 2. TensorFlow レポジトリをクローンする

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

注意: TensorFlow Docker イメージを使用している場合、リポジトリは /tensorflow_src/ にあります。

手順 3. ARM バイナリを構築する

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

共有ライブラリは、bazel-bin/tensorflow/lite/c/libtensorflowlite_c.so にあります。

注意: elinux_armhf32bit ARM ハードフロートビルドに使用します。

詳細については、TensorFlow Lite C API ページをご覧ください。

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