cudnn 在 TensorFlow 中编译配置

cudnn compile configuration in TensorFlow

Ubuntu 14.04,CUDA 版本 7.5.18,tensorflow 的夜间构建

在 tensorflow 中 运行 进行 tf.nn.max_pool() 操作时,出现以下错误:

E tensorflow/stream_executor/cuda/cuda_dnn.cc:286] Loaded cudnn library: 5005 but source was compiled against 4007. If using a binary install, upgrade your cudnn library to match. If building from sources, make sure the library loaded matches the version you specified during compile configuration.

W tensorflow/stream_executor/stream.cc:577] attempting to perform DNN operation using StreamExecutor without DNN support

Traceback (most recent call last):

...

如何在tensorflow的编译配置中指定我的cudnn版本?

进入TensorFlow源代码目录,然后执行配置文件:/.configure.

这是来自 TensorFlow documentation 的示例:

$ ./configure
Please specify the location of python. [Default is /usr/bin/python]:
Do you wish to build TensorFlow with GPU support? [y/N] y
GPU support will be enabled for TensorFlow

Please specify which gcc nvcc should use as the host compiler. [Default is
/usr/bin/gcc]: /usr/bin/gcc-4.9

Please specify the Cuda SDK version you want to use, e.g. 7.0. [Leave
empty to use system default]: 7.5

Please specify the location where CUDA 7.5 toolkit is installed. Refer to
README.md for more details. [default is: /usr/local/cuda]: /usr/local/cuda

Please specify the Cudnn version you want to use. [Leave empty to use system
default]: 4.0.4

Please specify the location where the cuDNN 4.0.4 library is installed. Refer to
README.md for more details. [default is: /usr/local/cuda]: /usr/local/cudnn-r4-rc/

Please specify a list of comma-separated Cuda compute capabilities you want to
build with. You can find the compute capability of your device at:
https://developer.nvidia.com/cuda-gpus.
Please note that each additional compute capability significantly increases your
build time and binary size. [Default is: \"3.5,5.2\"]: 3.5

Setting up Cuda include
Setting up Cuda lib64
Setting up Cuda bin
Setting up Cuda nvvm
Setting up CUPTI include
Setting up CUPTI lib64
Configuration finished

您似乎已经安装了 cudnn 5。 运行 ./configure

时需要设置
Please specify the Cudnn version you want to use. [Leave empty to use system
default]: 5

添加我的 2 美分:在我的情况下(TF0.12.1,从 pip 安装到 anaconda,没有 sudo 权限)安装了 CuDNNv5,但不是默认设置。

设置export LD_LIBRARY_PATH="/usr/local/lib/cuda-8.0/lib64:/usr/local/lib/cudann5/lib64/"解决了问题

我也遇到这样的不兼容问题:

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

所以我下载了 CuDNN 5.1(兼容 CUDA8.0)并用它替换了 5.0 然后一切顺利。

警告:来自 nvidia 的 CuDNN 不可用,但您可以从其他人的分享中找到它。