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.