From 4434a3f9eae88f4baef76c737ca11fafc7587574 Mon Sep 17 00:00:00 2001 From: Yasuaki Uechi Date: Tue, 10 Apr 2018 09:49:54 +0900 Subject: [PATCH] Added Building Tensorflow From Source --- ...0-building-tensorflow-from-source.markdown | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 _posts/2018-04-10-building-tensorflow-from-source.markdown diff --git a/_posts/2018-04-10-building-tensorflow-from-source.markdown b/_posts/2018-04-10-building-tensorflow-from-source.markdown new file mode 100644 index 0000000..eeb2a29 --- /dev/null +++ b/_posts/2018-04-10-building-tensorflow-from-source.markdown @@ -0,0 +1,40 @@ +--- +title: Building TensorFlow from source +date: 2018-04-10 09:41:00 +09:00 +--- + +As you may notice lines of snippet showed on [https://github.com/uetchy/dockerfile-machinelearning/blob/ffc2cadaf192b19509df0f4b87bc9d427aa30966/Dockerfile#L54-L86](dockerfile-machinelearning), TensorFlow can be non-interactively installed from source. + +The code here are hugely depend on [PatWie's gist](https://gist.github.com/PatWie/0c915d5be59a518f934392219ca65c3d). I just added some build options for a newer version of TensorFlow and remove options that affect nothing. + +``` +PYTHON_BIN_PATH=$(which python) \ +CUDA_TOOLKIT_PATH=/usr/local/cuda \ +CUDNN_INSTALL_PATH=/usr/local/cuda \ +PYTHON_LIB_PATH="$($PYTHON_BIN_PATH -c 'import site; print(site.getsitepackages()[0])')" \ +TF_NEED_GCP=0 \ +TF_NEED_CUDA=1 \ +TF_CUDA_VERSION="$($CUDA_TOOLKIT_PATH/bin/nvcc --version | sed -n 's/^.*release \(.*\),.*/\1/p')" \ +TF_CUDA_COMPUTE_CAPABILITIES=6.1,5.2,3.5 \ +TF_NEED_HDFS=0 \ +TF_NEED_OPENCL=0 \ +TF_NEED_JEMALLOC=1 \ +TF_ENABLE_XLA=0 \ +TF_NEED_VERBS=0 \ +TF_CUDA_CLANG=0 \ +TF_CUDNN_VERSION="$(sed -n 's/^#define CUDNN_MAJOR\s*\(.*\).*/\1/p' $CUDNN_INSTALL_PATH/include/cudnn.h)" \ +TF_NEED_MKL=0 \ +TF_DOWNLOAD_MKL=0 \ +TF_NEED_MPI=0 \ +TF_NEED_OPENCL_SYCL=0 \ +TF_NEED_S3=0 \ +TF_NEED_KAFKA=0 \ +TF_NEED_TENSORRT=0 \ +TF_NEED_GDR=0 \ +TF_SET_ANDROID_WORKSPACE=0 \ +GCC_HOST_COMPILER_PATH=$(which gcc) \ +CC_OPT_FLAGS="-march=native" ./configure +bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package && \ +bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg && \ +pip install /tmp/tensorflow_pkg/tensorflow-1.7.0-cp36-cp36m-linux_x86_64.whl +``` \ No newline at end of file