Tensorflow packages often assume the processor supports avx2. Our Xeon process does not, and requires tensorflow to be compiled without this flag.

Note that you need to upgrade to at least Debian 11 prior to compiling

Start Building

Verify dependencies

sudo apt install python3-dev python3-pip

Install Dependencies

sudo pip3 install numpy keras keras_preprocessing

Install Bazel using Bazelisk

sudo npm install -g @bazel/bazelisk

Checkout Tensorflow

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

Configure

Keep all defaults

./configure

Compile

The jobs parameter may be needed to reduce memory dependencies on some servers

bazel build --jobs 2 //tensorflow/tools/pip_package:build_pip_package

I got compilation errors at one point and some guidance said to add the following to the command to reduce memory consumption:

--local_ram_resources 2048

or

bazel build --jobs 2 --local_ram_resources 2048 //tensorflow/tools/pip_package:build_pip_package

Package

./bazel-bin/tensorflow/tools/pip_package/build_pip_package ~/tensorflow/pkg

Install

sudo pip3 install ~/tensorflow/pkg/*.whl