更新cudnn版本至cuDNN v6 ImportError: libcudart.so.6.0: cannot open shared object file: No such file or di

当尝试使用TensorFlow 1.3或1.4时,由于缺少libcudart.so.6.0文件,系统报告ImportError。解决方法包括从NVIDIA官网或第三方资源下载cuDNN v6,将其解压到CUDA 8.0目录,并创建必要的符号链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

更新cudnn版本至cuDNN v6 ImportError: libcudart.so.6.0: cannot open shared object file: No such file or directory

tensorflow1.3和1.4版本都要求cuDNN v6版本详见tensorflow官网 当你更新tensorflow版本以获取更多支持时,再次运行tensorflow时会报如下错误:

[xx_xx@xxxx ~]$ python multiply.py
Traceback (most recent call last):
  File "multiply.py", line 2, in <module>
    import tensorflow as tf
  File "/home/luohao/.usr/bin/python2.7.10/lib/python2.7/site-packages/tensorflow/__init__.py", line 4, in <module>
    from tensorflow.python import *
  File "/home/luohao/.usr/bin/python2.7.10/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 22, in <module>
    from tensorflow.python.client.client_lib import *
  File "/home/luohao/.usr/bin/python2.7.10/lib/python2.7/site-packages/tensorflow/python/client/client_lib.py", line 35, in <module>
    from tensorflow.python.client.session import InteractiveSession
  File "/home/luohao/.usr/bin/python2.7.10/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 11, in <module>
    from tensorflow.python import pywrap_tensorflow as tf_session
  File "/home/luohao/.usr/bin/python2.7.10/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 28, in <module>
    _pywrap_tensorflow = swig_import_helper()
  File "/home/luohao/.usr/bin/python2.7.10/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow', fp, pathname, description)
**ImportError: libcudart.so.6.0: cannot open shared object file: No such file or directory**

可以从ImportError: libcudart.so.6.0: cannot open shared object file: No such file or directory 看出是因为没有libcudart.so.6.0文件,所以要升级cudnn到cuDNN v6。

问题描述

tensorflow官网提供的Ubuntu的安装页面,GPU的二进制版本要求cuDNN v6。 但是,现有cuDNN版本为5.1。

系统信息

  • Linux Ubuntu 16.04
  • GPU版本tensorflow1.3 或者 tensorflow1.4

1.下载cuDNN v6 cudnn-8.0-linux-x64-v6.0.tgz

方法一:通过nvidia官网,注册账号,验证邮箱,填写问卷后 通过右上角搜索cuDNN Archive | NVIDIA Developer 进入到页面选择相应版本的cudnn下载。(注:官网页面可能会出错而找不到对应版本,那就用方法二喽~)
方法二:baidu or google 搜索相应cudnn版本下载

2.将下载好的cudnn拷贝到CUDA-8.0的目录下并解压:

sudo tar -zxvf cudnn-8.0-linux-x64-v6.0.tgz

解压后会在当前目录下生成一个cuda文件夹,里面包含了include以及lib64两个子目录:

cuda/include/cudnn.h
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.6
cuda/lib64/libcudnn.so.6.0.21
cuda/lib64/libcudnn_static.a

3.将解压得的两个子目录中的文件复制到cuda-8.0对应的安装目录。这里以cuda的安装目录为/usr/local/cuda-8.0/为例,这个目录下也包含include/以及lib64/这两个子文件夹,将生成的include以及lib64两个子目录中的内容复制过来即可。*

sudo cp ./cuda/include/cudnn.h /usr/local/cuda-8.0/include
sudo cp ./cuda/lib64/* /usr/local/cuda-8.0/lib64/

4在/usr/local/cuda-8.0/lib64/目录下进行执行以下命令手动生成符号链接。

sudo rm -rf libcudnn.so libcudnn.so.6 #删除原有的两个符号链接
sudo ln -s libcudnn.so.6.0.21 libcudnn.so.6 #生成新的符号链接
sudo ln -s libcudnn.so.6 libcudnn.so #生成新的符号链接

现在cudnn版本已经更新完毕,会支持高版本的tensorflow

### 解决 mamba 环境中导入 `libcudart.so.12` 出现的 ImportError 问题 当遇到 `ImportError: libcudart.so.12: cannot open shared object file: No such file or directory` 错误时,这通常意味着 CUDA 库未正确安装或路径配置不正确。以下是详细的解决方案: #### 方法一:验证并重新安装 CUDA 工具包 如果怀疑 CUDA 安装存在问题,则可以尝试卸载现有版本并重新安装最新稳定版。 ```bash conda remove cudatoolkit conda install cudatoolkit=12.0 -c nvidia ``` 上述命令会移除当前环境中的 CUDA 工具包,并安装指定版本的新工具包[^1]。 #### 方法二:设置 LD_LIBRARY_PATH 变量 有时即使库存在也可能会因为动态链接器找不到它而报错。可以通过临时修改 `LD_LIBRARY_PATH` 来指向正确的目录来解决问题。 ```bash export LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$LD_LIBRARY_PATH ``` 这条指令将 Conda 环境下的 `/lib` 文件夹加入到共享库查找路径中[^2]。 #### 方法三:创建符号链接 对于某些情况,可能是因为缺少特定版本号的 `.so` 文件造成的。可以在相应位置创建一个符号链接指向实际存在的文件。 假设在 `$CONDA_PREFIX/lib/` 下有名为 `libcudart.so` 的文件但没有带版本号的部分,那么可以执行如下操作: ```bash cd $CONDA_PREFIX/lib/ sudo ln -s libcudart.so libcudart.so.12 ``` 这样就建立了从 `libcudart.so.12` 到已有的 `libcudart.so` 的软连接[^3]。 #### 方法四:更新 conda 和 mamba 确保使用的软件包管理器是最新的也很重要,旧版本可能存在兼容性问题或其他 bug。 ```bash conda update conda mamba update mamba ``` 通过保持这些工具处于最新状态可以帮助避免许多潜在的问题[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值