Docker images to compile TensorFlow yourself.
Tensorflow only provide a limited set of build and it can be challenging to compile yourself on certain configuration. With this Dockerfile, you should be able to compile TensorFlow on any Linux platform that run Docker.
Compilation images are provided for Ubuntu 18.10, Ubuntu 16.04, CentOS 7.4 and CentOS 6.6.
- docker
- docker-compose
- Clone this repository:
git clone https://github.com/hadim/docker-tensorflow-builder.git- Edit the build.shfile to modify TensorFlow compilation parameters. Then launch the build:
LINUX_DISTRO="ubuntu-16.04"
# or LINUX_DISTRO="ubuntu-18.10"
# or LINUX_DISTRO="centos-7.4"
# or LINUX_DISTRO="centos-6.6"
cd "tensorflow/$LINUX_DISTRO"
# Set env variables
export PYTHON_VERSION=3.6
export TF_VERSION_GIT_TAG=v1.13.1
export BAZEL_VERSION=0.19
export USE_GPU=0
# Build the Docker image
docker-compose build
# Start the compilation
docker-compose run tf
# You can also do:
# docker-compose run tf bash
# bash build.sh- Edit the build.shfile to modify TensorFlow compilation parameters. Then launch the build:
LINUX_DISTRO="ubuntu-16.04"
# or LINUX_DISTRO="ubuntu-18.10"
# or LINUX_DISTRO="centos-7.4"
# or LINUX_DISTRO="centos-6.6"
cd "tensorflow/$LINUX_DISTRO"
# Set env variables
export PYTHON_VERSION=3.6
export TF_VERSION_GIT_TAG=v1.13.1
export BAZEL_VERSION=0.19
export USE_GPU=1
export CUDA_VERSION=10.0
export CUDNN_VERSION=7.5
export NCCL_VERSION=2.4
# Build the Docker image
docker-compose build
# Start the compilation
docker-compose run tf
# You can also do:
# docker-compose run tf bash
# bash build.sh- Refer to tested build configurations to know which BAZEL_VERSIONyou need.
- Be patient, the compilation can be long.
- Enjoy your Python wheels in the wheels/folder.
- Don't forget to remove the container to free the space after the build: docker-compose rm --force.
| Tensorflow | Python | Distribution | Bazel | CUDA | cuDNN | NCCL | Comment | 
|---|---|---|---|---|---|---|---|
| v2.0.0-alpha0 | 3.6 | Ubuntu 18.10 | 0.20 | 10.0 | 7.5 | 2.4 | seg fault error | 
| v2.0.0-alpha0 | 3.6 | Ubuntu 18.10 | 0.20 | - | - | - | OK | 
| v2.0.0-alpha0 | 3.6 | Ubuntu 16.04 | 0.20 | 10.0 | 7.5 | 2.4 | TODO | 
| v2.0.0-alpha0 | 3.6 | Ubuntu 16.04 | 0.20 | - | - | - | TODO | 
| 1.9.0 | 3.6 | Ubuntu 16.04 | - | - | 0.19 | - | OK | 
| 1.9.0 | 3.6 | Ubuntu 16.04 | 9.0 | 0.19 | 7.1 | - | OK | 
| 1.9.0 | 3.6 | Ubuntu 16.04 | 9.1 | 0.19 | 7.1 | - | OK | 
| 1.9.0 | 3.6 | Ubuntu 16.04 | 9.2 | 0.19 | 7.1 | - | OK | 
| 1.9.0 | 3.6 | CentOS 6.6 | - | - | 0.19 | - | OK | 
| 1.9.0 | 3.6 | CentOS 6.6 | 9.0 | 0.19 | 7.1 | - | OK | 
| 1.9.0 | 3.6 | CentOS 6.6 | 9.1 | 0.19 | 7.1 | - | OK | 
| 1.9.0 | 3.6 | CentOS 6.6 | 9.2 | 0.19 | 7.1 | - | OK | 
- Hadrien Mary [email protected]
MIT License. See LICENSE.