Until recently, building TensorFlow at all on AArch64 was not possible due to its dependency on Bazel. Doing a bootstrap build of Bazel with its architecture-independent distribution archive failed. GitHub contributor, powderluv, has released several Bazel binaries allowing Google's instructions to work with a few caveats. Note: There are now a number of TensorFlow Docker containers for Arm but none of them are TensorFlow 2 or greater at the time of this writing.
_TF_MIN_BAZEL_VERSION = '2.0.0'
_TF_MAX_BAZEL_VERSION = '2.0.0'
ln -s bazel-1.2.1-aarch64-glibc-2.27 /usr/local/bin/bazel
bazel build //src:bazel
bazel build //src:bazel-dev
sudo ln -s /home/<user>/bazel-2.0.0/bazel-bin/src/bazel /usr/local/bin/bazel
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow && git pull
configure
yes "" | ./configure; python -c "import numpy as np"
pip install --upgrade setuptools && pip install future && pip install futures && pip install grpc
pip3 install --upgrade setuptools && pip3 install future
--config noaws
--local_ram_resources=1600
-local_cpu_resources=1
date; bazel build //tensorflow/tools/pip_package:build_pip_package --config noaws --config=monolithic --local_cpu_resources=4; date
If you have any interesting training scenarios, please contact me.Contact MattWe might be able to allocate compute resources and share our story at Arm DevSummit.
I'm using Ubuntu 20.10 on Raspberyy Pi 4 8Gb.
After installing Bazel 3.7.0 I set (https://github.com/bazelbuild/bazelisk):
export USE_BAZEL_VERSION=3.7.0
before running the bazel build.
When build finished:
(https://collaborate.linaro.org/display/BDTS/Building+and+Installing+Tensorflow+on+AArch64)
It worked splendidly for me - a bit worried about the 2.5.0 version though... but at least I succeeded to install and use.
Hope it helps.
I came across following error:
(py3) pcl@begoit-920-11:~/packages/tensorflow$ date; bazel build //tensorflow/tools/pip_package:build_pip_package --config noaws --config=monolithic --local_cpu_resources=90; dateTue Nov 3 16:29:48 CST 20202020/11/03 16:29:48 Downloading releases.bazel.build/.../bazel-2.0.0-linux-arm64...2020/11/03 16:29:49 could not download Bazel: HTTP GET releases.bazel.build/.../bazel-2.0.0-linux-arm64 failed with error 404Tue Nov 3 16:29:49 CST 2020
Then, I found there is no ‘bazel-2.0.0-linux-arm64’ in releases.bazel.build/.../release