Tensorflow使用cuDNN 5.0编译,即使指定了5.1.10

时间:2017-06-24 15:09:47

标签: ubuntu-16.04 cudnn tensorflow-gpu

我试图自己编译Tensorflow以加速训练(使用预编译的轮子工作但速度很慢)。我使用./configure配置并明确指定应该使用cuDNN版本5.1.10。在此之前,我下载了cuDNN 5.1.10并将我的文件复制到Cuda目录。

这是config(.tf_configure.bazelrc)的样子:

build --action_env PYTHON_BIN_PATH="/home/ubuntu/project/venv/bin/python"
build --action_env PYTHON_LIB_PATH="/home/ubuntu/project/venv/lib/python3.5/site-packages"
build --define PYTHON_BIN_PATH="/home/ubuntu/project/venv/bin/python"
build --define PYTHON_LIB_PATH="/home/ubuntu/project/venv/lib/python3.5/site-packages"
build --force_python=py3
build --host_force_python=py3
build --python3_path="/home/ubuntu/project/venv/bin/python"
test --force_python=py3
test --host_force_python=py3
test --define PYTHON_BIN_PATH="/home/ubuntu/project/venv/bin/python"
test --define PYTHON_LIB_PATH="/home/ubuntu/project/venv/lib/python3.5/site-packages"
run --define PYTHON_BIN_PATH="/home/ubuntu/project/venv/bin/python"
run --define PYTHON_LIB_PATH="/home/ubuntu/project/venv/lib/python3.5/site-packages"
build --define with_jemalloc=true
build:opt --cxxopt=-march=native --copt=-march=native
build --action_env TF_NEED_CUDA="1"
build --action_env TF_NEED_OPENCL="0"
build --action_env TF_CUDA_CLANG="0"
build --action_env CUDA_TOOLKIT_PATH="/usr/local/cuda"
build --action_env TF_CUDA_VERSION="8.0"
build --action_env GCC_HOST_COMPILER_PATH="/usr/bin/gcc"
build --action_env TF_CUDNN_VERSION="5.1.10"
build --action_env CUDNN_INSTALL_PATH="/usr/local/cuda-8.0"
build --action_env TF_CUDNN_VERSION="5.1.10"
build --action_env TF_CUDA_COMPUTE_CAPABILITIES="3.7"
build --config=cuda
test --config=cuda

注意TF_CUDNN_VERSION =" 5.1.10"部分。接下来,我执行以下命令:

bazel build --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

pip3 install --upgrade /tmp/tensorflow_pkg/tensorflow-1.2.0-cp35-cp35m-linux_x86_64.whl

最后,我收到以下错误消息

Loaded runtime CuDNN library: 5110 (compatibility version 5100) but source was compiled with 5005 (compatibility version 5000).  If using a binary install, upgrade your CuDNN library to match.  If building from sources, make sure the library loaded at runtime matches a compatible version specified during compile configuration.

发生了什么事?不知何故Tensorflow是使用cuDNN 5.0编译的,即使我指定了正确的版本?!

系统是Ubuntu 16,AWS p2实例。

1 个答案:

答案 0 :(得分:0)

我能解决这个问题的唯一方法就是重新开始(来自AWS市场的新版Ubuntu)。

我会接受这个答案,因为没有必要回头试图解决这个问题,但是如果有人想知道这个问题,我发现这篇文章非常有用: https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run