Mik*_*oho 6 tensorflow ubuntu-18.04 tensorflow2.0
我试图解决标题中的问题:
Loaded runtime CuDNN library: 7.1.2 but source was compiled with: 7.6.0. CuDNN library major and minor version needs to match or have higher minor version in case of CuDNN 7.0 or later version
Run Code Online (Sandbox Code Playgroud)
我读过其他几篇文章(例如:加载运行时 CuDNN 库:5005(兼容版本 5000),但源代码是用 5103(兼容版本 5100)编译的)
这基本上告诉我,我的机器有 CuDNN 7.1.2,但我需要 7.6.0。答案是下载并安装 7.6.*
唯一的问题是我认为我是按照 nvidia archive ( https://developer.nvidia.com/rdp/cudnn-archive )上的说明进行操作的
如果我去读/usr/local/cuda/include它cudnn.h会显示
#if !defined(CUDNN_H_)
#define CUDNN_H_
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 4
Run Code Online (Sandbox Code Playgroud)
目前我安装了 CUDA-10.0、10.1 和 10.2,并将 .bashrc 设置为 10.0(尽管nvcc --version声明我有 cuda 9.1——另一个我似乎无法修复的问题)。
有什么建议么?几天来我一直在尝试解决这个问题,但没有成功。
更新:
这是我的路径
export PATH=$PATH:/usr/local/cuda-10.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64
export CUDA_HOME=/usr/local/cuda
Run Code Online (Sandbox Code Playgroud)
在关闭之前,您可以帮忙建议一个正确的设置路径或找到旧的 cudnn 吗?
我遇到了一个非常相似的错误:
Loaded runtime CuDNN library: 7.1.4 but source was compiled with: 7.6.5. CuDNN library major and minor version needs to match or have higher minor version in case of CuDNN 7.0 or later version. If using a binary install, upgrade your CuDNN library. If building from sources, make sure the library loaded at runtime is compatible with the version specified during compile configuration.
Run Code Online (Sandbox Code Playgroud)
并追踪到它意外地在我的中有一个旧的 CuDNN ldconfig:
$ sudo ldconfig -p | grep libcudnn
libcudnn.so.7 (libc6,x86-64) => /usr/local/cuda-9.0/lib64/libcudnn.so.7
libcudnn.so.7 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudnn.so.7
libcudnn.so (libc6,x86-64) => /usr/local/cuda-9.0/lib64/libcudnn.so
libcudnn.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudnn.so
Run Code Online (Sandbox Code Playgroud)
cuda-9.0 目录中的文件libcudnn.so.7指向旧版本:
ls -alh /usr/local/cuda-9.0/lib64/libcudnn.so.7
lrwxrwxrwx 1 root root 17 Dec 16 2018 /usr/local/cuda-9.0/lib64/libcudnn.so.7 -> libcudnn.so.7.1.4
Run Code Online (Sandbox Code Playgroud)
但我已经针对新版本编译了tensorflow:
ls -alh /usr/lib/x86_64-linux-gnu/libcudnn.so.7
lrwxrwxrwx 1 root root 17 Oct 27 2019 /usr/lib/x86_64-linux-gnu/libcudnn.so.7 -> libcudnn.so.7.6.5
Run Code Online (Sandbox Code Playgroud)
由于ldconfig用于/etc/ld.so.conf确定在哪里寻找库(我猜与 一起LD_LIBRARY_PATH),我检查了它并显示:
include /etc/ld.so.conf.d/*.conf
Run Code Online (Sandbox Code Playgroud)
当我列出该目录中的文件时,我发现了问题文件并将其删除:
$ cat /etc/ld.so.conf.d/cuda9.conf
/usr/local/cuda-9.0/lib64
$ sudo rm /etc/ld.so.conf.d/cuda9.conf
Run Code Online (Sandbox Code Playgroud)
之后我重新运行ldconfig以重新加载配置,然后一切都按预期工作并且错误消失了。
| 归档时间: |
|
| 查看次数: |
5634 次 |
| 最近记录: |