【已解决】Error:Could not load dynamic library ‘cusolver64_10.dll‘; dlerror...

在用 tensorflow + keras 训练模型时,启用 GPU 失败。
**发生错误的原因:**加载动态库失败。其背后的根本原因可能是 tensorflow 和 cuda版本不匹配。

解决思路

  1. 首先查看安装的 tensorflow 版本和电脑已装的 Cuda、Cudnn 版本是否匹配;
  2. 若匹配,则直接看解决方法;若不匹配,则重新下载和 Cuda、Cudnn 版本匹配的 tensorflow。

Cuda和tensorflow对应关系

查看网址:

Linux 和 MacOS 对应关系
Windows 对应关系

在这里插入图片描述


如何查看自己的Cuda和Cudnn版本

查看 Cuda 版本

  1. win+R 打开 cmd
  2. 输入 nvidia-smi 即可查看 Cuda 版本,如下所示:

## 查看 Cudnn 版本

查看Cudnn版本

  1. 进入目录 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include
  2. 找到 cudnn.h 的头文件,可以选择用文本编辑器打开,会看到如下定义:
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 5

解决方法

   如果你的 tensorflow 版本安装与 Cuda 和 Cudnn 不匹配,则应当卸载现有 tensorflow 后重装 tensorflow,安装合适的版本。
   如果你的 tensorflow 版本安装正确,可是还是不能正确启用 GPU,可以先查看报错,找到具体缺少哪一个动态库,然后在自己的动态库中找到类似的库改名后再放入文件夹中。具体操作如下,仅供参考:

  1. 找到安装的 Cuda 下的 bin 目录,例如:
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin
  2. 在该目录下找到和缺少的.dll文件类似的文件。例如,我缺少的是'cusolver64_10.dll',而我的 bin 文件夹里存在的是cusolver64_11.dll
  3. 复制cusolver64_11.dll到桌面,将其重命名为cusolver64_10.dll
  4. 最后,将cusolver64_10.dll 移动到 bin 目录下。

   至此,可以成功启用 GPU。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值