Tensorflow:找出预构建Tensorflow轮子所针对的CUDA/CuDNN版本

Tensorflow:找出预构建Tensorflow轮子所针对的CUDA/CuDNN版本,tensorflow,arm64,Tensorflow,Arm64,我已经安装了tensorflow gpu 1.14,但是我通过一个预构建的轮子安装了它,所以我不知道它最初是针对哪个CUDA/CuDNN版本构建的。如何找到它 我问这个问题的原因是,在我的情况下,我想先安装一个特定的Tensorflow转轮,然后安装所需的CUDA/CuDNN版本,以支持我的Tensorflow。如果运行时CUDA/CuDNN库与Tensorflow构建所依据的原始CUDA/CuDNN库不匹配,则可能出现错误“找不到'cudart64_80.dll'”,或“CuDNN库不匹配,在

我已经安装了tensorflow gpu 1.14,但是我通过一个预构建的轮子安装了它,所以我不知道它最初是针对哪个CUDA/CuDNN版本构建的。如何找到它

我问这个问题的原因是,在我的情况下,我想先安装一个特定的Tensorflow转轮,然后安装所需的CUDA/CuDNN版本,以支持我的Tensorflow。如果运行时CUDA/CuDNN库与Tensorflow构建所依据的原始CUDA/CuDNN库不匹配,则可能出现错误“找不到'cudart64_80.dll'”,或“CuDNN库不匹配,在7.1.5中构建,运行时为7.0.5”

特别是在我的例子中,我的错误消息是“tensorflow/stream_executor/platform/default/dso_loader.cc:53]无法打开库'libcudnn.so.7';dlerror:libcudnn.so.7:无法打开共享对象文件:没有这样的文件或目录;LD_库路径:/usr/local/cuda/lib64:/usr/local/cuda-9.0/lib64:”

此错误是wierd,因为libcudnn.so.7已实际安装并正确链接,请参阅

$ sudo ldconfig -p | grep libcudnn.so.7  
        libcudnn.so.7 (libc6,AArch64) => /usr/local/cuda/lib64/libcudnn.so.7  
        libcudnn.so.7 (libc6,AArch64) => /usr/lib/aarch64-linux-gnu/libcudnn.so.7  
$ ls -alh /usr/local/cuda/lib64/libcudnn.so.7  
lrwxrwxrwx 1 root root 44 Oct 17 19:17 /usr/local/cuda/lib64/libcudnn.so.7 -> /usr/lib/aarch64-linux-gnu/libcudnn.so.7.1.4  
$ ls -alh /usr/lib/aarch64-linux-gnu/libcudnn.so.7  
lrwxrwxrwx 1 root root 44 Oct 17 17:48 /usr/lib/aarch64-linux-gnu/libcudnn.so.7 -> /usr/lib/aarch64-linux-gnu/libcudnn.so.7.1.4
我的调试过程, (1) 我试图通过以下方式在我的系统中找到tensorflow包

$ python -c "import tensorflow as tf; print(tf.__file__)"
***/lib/python3.5/site-packages/tensorflow/__init__.py
(2) 然后我将cd刻录到该目录,并试图找出硬编码的构建信息

$ cat python/platform/build_info.py 
is_cuda_build = True
cuda_version_number = '9.0'
cudnn_version_number = '7.1'
然而,如果这是真的,我仍然无法理解为什么会发生错误

注:
1.将原始Tensorflow引用到CUDA/CuDNN绑定不起作用,因为我的Tensorflow是通过预构建的轮子安装的。
2.检查运行时CUDA/CuDNN并没有回答这个问题,我在构建阶段询问库。

3.基于运行时CUDA/CuDNN重新安装Tensorflow不是首选解决方案

了解安装了什么版本的CUDA/cuDNN

Tensorflow 1.14支持CUDA 10.0和cuDNN 7.4

要安装支持GPU的Tensorflow,请按照站点中提到的说明进行操作。

btw:如果需要
nvidia-smi