Tensorflow: ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory
Tensorflow: ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory
我最近使用 pip 安装了 tensorflow-gpu。但是当我导入它时出现以下错误:
ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory
我已经阅读了与此问题相关的所有 Whosebug 答案,但其中 none 对我有用。
libcudnn.so.7 存在于以下目录 /usr/local/cuda/lib64 和 /usr/local/cuda-9.0/lib64 .
中
此外,我在 .bashrc 文件中添加了以下路径:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
请帮我解决这个问题
您设置 LD_LIBRARY_PATH 的方式有误,我建议您这样做(这是一种标准):
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
您可能需要下载并安装 NVIDIA cuDNN。
从https://developer.nvidia.com/rdp/cudnn-download下载
(如果没有,则必须注册一个帐户才能下载)。运行时版本通常比开发版本更稳定。
您在 .bashrc 文件中添加以下路径:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
重新安装 CudNN-7.0.5,(确保您从下面的 link 中选择正确的版本)为我解决了这个问题。
您需要登录您的 Nvidia 开发者帐户才能访问 link。 (如果您没有 Nvidia 帐户,可以直接创建一个);
https://developer.nvidia.com/rdp/cudnn-archive
CudNN 安装说明;
https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html
但是我也遇到了下面的错误;
已加载运行时 CuDNN 库:7.0.5,但源代码是使用:7.4.2 编译的。如果是 CuDNN 7.0 或更高版本,CuDNN 库的主要和次要版本需要匹配或具有更高的次要版本。如果使用二进制安装,请升级您的 CuDNN 库。如果从源代码构建,请确保在运行时加载的库与编译配置期间指定的版本兼容。
因此,我不得不再次下载并安装正确的 CuDNN 版本,我使用上述错误消息中的信息并安装了 CuDNN 7.4.2,这修复了所有错误并且一切正常。
祝你好运!
FWIW 很感兴趣我创建了一个 shell script,它在 Debian 中安装了不同的 CUDA 版本,可以很容易地移植到 Ubuntu:
原因是缺少一些库。
尝试安装
sudo apt install libcudnn7
我最近使用 pip 安装了 tensorflow-gpu。但是当我导入它时出现以下错误:
ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory
我已经阅读了与此问题相关的所有 Whosebug 答案,但其中 none 对我有用。
libcudnn.so.7 存在于以下目录 /usr/local/cuda/lib64 和 /usr/local/cuda-9.0/lib64 .
中此外,我在 .bashrc 文件中添加了以下路径:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
请帮我解决这个问题
您设置 LD_LIBRARY_PATH 的方式有误,我建议您这样做(这是一种标准):
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
您可能需要下载并安装 NVIDIA cuDNN。
从https://developer.nvidia.com/rdp/cudnn-download下载 (如果没有,则必须注册一个帐户才能下载)。运行时版本通常比开发版本更稳定。
您在 .bashrc 文件中添加以下路径:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
重新安装 CudNN-7.0.5,(确保您从下面的 link 中选择正确的版本)为我解决了这个问题。 您需要登录您的 Nvidia 开发者帐户才能访问 link。 (如果您没有 Nvidia 帐户,可以直接创建一个);
https://developer.nvidia.com/rdp/cudnn-archive
CudNN 安装说明; https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html
但是我也遇到了下面的错误;
已加载运行时 CuDNN 库:7.0.5,但源代码是使用:7.4.2 编译的。如果是 CuDNN 7.0 或更高版本,CuDNN 库的主要和次要版本需要匹配或具有更高的次要版本。如果使用二进制安装,请升级您的 CuDNN 库。如果从源代码构建,请确保在运行时加载的库与编译配置期间指定的版本兼容。
因此,我不得不再次下载并安装正确的 CuDNN 版本,我使用上述错误消息中的信息并安装了 CuDNN 7.4.2,这修复了所有错误并且一切正常。
祝你好运!
FWIW 很感兴趣我创建了一个 shell script,它在 Debian 中安装了不同的 CUDA 版本,可以很容易地移植到 Ubuntu:
原因是缺少一些库。 尝试安装
sudo apt install libcudnn7