Could not load dynamic library ‘cublas64_10.dll‘; dlerror: cublas64_10.dll not found或者缺少DLL问题

2023-10-31

项目场景:

       tensorflow对GPU的支持,尤其是对英伟达GPU的支持,不只是下个tensorflow-gpu就完事了,还需要一系列显卡相关的软件的版本匹配,比如最常见的就是那个cuda的版本匹配问题。当然匹配后也不可避免的有很多奇怪的问题,接下来我要讲的就是其中一个
Could not load dynamic library ‘cublas64_10.dll’; dlerror: cublas64_10.dll not found
Could not load dynamic library ‘cufft64_10.dll’; dlerror: cufft64_10.dll not found
Could not load dynamic library ‘curand64_10.dll’; dlerror: curand64_10.dll not found
Could not load dynamic library ‘cusolver64_10.dll’; dlerror: cusolver64_10.dll not found
Could not load dynamic library ‘cusparse64_10.dll’; dlerror: cusparse64_10.dll not found
问题。


       (不过如果有同学提示的是没有cuDNN的dll文件,那就看一下附录!,这边的报错是针对版本配好的)

问题描述:

       很多同学根据网上的提示都配好了CUDA的环境,但发现运行还是会有一大堆奇怪的提示,但是训练似乎没受影响很多同学可能就没多想,毕竟一大堆专业名词,没报错就等于没错好了。

但我们仔细看就发现问题了:
Skipping registering GPU devices…,
翻译一下,跳过GPU,好家伙,人家压根就没用你的GPU,没报错也就是因为你还有个CPU,所以全然不知,就算训练速度慢了,也没个概念,感觉估计就这个速度算快了吧。
在这里插入图片描述

       但我们不可能搞个那么值钱的GPU为了深度学习,结果还不用,那也太浪费了,接下来就是分析一下怎么调试吧。


原因分析:

我们可以看到上面的一些提示
在这里插入图片描述
那种什么successfully的肯定是没问题,但那些could not load的肯定是有问题了,可是我们明明对了版本为什么还是会说打不开呢?

Could not load dynamic library 'cublas64_10.dll'; dlerror: cublas64_10.dll not found
Could not load dynamic library 'cufft64_10.dll'; dlerror: cufft64_10.dll not found
Could not load dynamic library 'curand64_10.dll'; dlerror: curand64_10.dll not found
Could not load dynamic library 'cusolver64_10.dll'; dlerror: cusolver64_10.dll not found
Could not load dynamic library 'cusparse64_10.dll'; dlerror: cusparse64_10.dll not found

解决方案:

其实解决办法很简单,去到我们的CUDA按照路径,一般都是

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin

我们会在里面找到这些所谓的could not load的文件,说明我们都是有的

在这里插入图片描述
但为什么打不开呢?看仔细点,人家后缀是10,我们的后缀都是100
所以我们尝试一下,把后缀名改成10看看
在这里插入图片描述
再放回去那个文件夹
再重新启动我们的程序
在这里插入图片描述
       而且我们可以看到那个Skipping registering GPU devices…也没了,那就是说明他启动成功了,但最直观的证明在哪呢?你的训练速度现在应该是几何倍数的提升了,像之前我的示例简单的一个手写数字识别,原来启动失败训练10轮的时间的5分20秒,启动独显后训练时间是53秒。这就是你那块那么值钱的显卡的厉害之处。

附录:

有些同学可能是连CUDA都没更新好,那用这个办法肯定是不行的,我这边就简单附上一个tensorflow-gpu版本和CUDA版本的对应图
在这里插入图片描述
以及对应的cuDNN的版本:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Could not load dynamic library ‘cublas64_10.dll‘; dlerror: cublas64_10.dll not found或者缺少DLL问题 的相关文章

  • keras LSTM 以正确的形状提供输入

    我从具有以下形状的 pandas 数据框中获取一些数据 df head gt gt gt Value USD Drop 7 Up 7 Mean Change 7 Change Predict 0 06480 2 0 4 0 0 000429
  • 使用 Mac M1 在 Docker 容器内的 pip 安装中找不到 Tensorflow

    我正在尝试使用新的 Mac M1 运行一些项目 这些项目已经在英特尔处理器上运行 并被使用英特尔的其他开发人员使用 我无法构建这个简单的 Dockerfile FROM python 3 9 RUN python m pip install
  • Keras 中的条件批量归一化

    我正在尝试在 Keras 中实现条件批量标准化 我假设我必须创建一个自定义层 因此 我从正常化 https github com keras team keras blob master keras layers normalization
  • TensorFlow 中的 global_step 是什么意思?

    在这就是教程代码 https github com tensorflow tensorflow blob master tensorflow examples tutorials mnist mnist py来自 TensorFlow 网站
  • 在 GPU 上训练时如何处理非确定性?

    在调整超参数以使模型性能更好时 我注意到每次运行代码时获得的分数 以及创建的模型 都是不同的 尽管修复了随机操作的所有种子 如果我在CPU上运行就不会出现这个问题 我搜索了一下 发现这是使用 GPU 训练时的常见问题 这是一个非常好的 详细
  • 调用 tf.linalg.inv 时,TensorFlow 崩溃并显示无法创建 cuSolverDN 实例

    我正在运行tensorflow tensoflow latest gpu码头集装箱 我可以运行简单的向量运算 例如 矩阵乘法没有问题 但是 当我运行以下最小示例时 import tensorflow as tf tf linalg inv
  • 如何在对象检测 API Tensorflow 中仅检测人体

    我在用tensorflow对象检测 API 用于检测对象 它在我的 Windows 系统中运行良好 我如何对其进行更改以仅检测提到的对象 例如 我只想检测人类而不是所有对象 根据此中的第 1 条评论answer https stackove
  • 在 Android 上保持 TensorFlow 模型加密

    我搜索了解是否有一种技术可以在 Android 应用程序中保持经过训练的张量流模型 pb 文件 的安全 但没有找到任何有用的东西 我正在发布一个包含我在训练集上构建的张量流模型的应用程序 当我发布该应用程序时 任何人都可以访问该模型并将其用
  • 从图中删除节点或重置整个默认图

    使用默认全局图时 是否可以在添加节点后将其删除 或者将默认图重置为空 当我在 IPython 中交互地使用 TF 时 我发现自己必须反复重新启动内核 如果可能的话 我希望能够更轻松地尝试图表 更新 11 2 2016 tf reset de
  • 具有高级计算功能的 Keras 自定义层

    我想写一些自定义的Keras分层并在层中进行一些高级计算 例如使用 Numpy Scikit OpenCV 我知道有一些数学函数keras backend可以对张量进行操作 但我需要一些更高级的功能 但是 我不知道如何正确实现这一点 我收到
  • 使用输入管道时如何替换 feed_dict?

    假设您有一个已与feed dict到目前为止将数据注入到图表中 每隔几个时期 我就会通过将任一数据集的一批数据输入到我的图表中来评估训练和测试损失 现在 出于性能原因 我决定使用输入管道 看看这个虚拟示例 import tensorflow
  • Tensorflow推荐的系统规格?

    我开始在我的 RHEL 6 5 机器上安装 Tensorflow 但事实证明 Tensorflow 需要 glibc gt 2 17 而 rhel 6 5 上默认的 glibc 是 2 12 我想知道是否有人可以帮助我了解张量流的最低 推荐
  • 您必须使用 dtype float(Tensorflow) 为占位符张量“Placeholder”提供值

    import tensorflow as tf import os import sklearn preprocessing import pandas as pd import numpy as np print os getcwd os
  • conv1D 中形状的尺寸

    我尝试过构建一个只有一层的 CNN 但遇到了一些问题 事实上 编译器告诉我 ValueError 检查模型输入时出错 预期的 conv1d 1 input 具有 3 个维度 但得到形状为 569 30 的数组 这是代码 import num
  • 如何在 Tensorflow 中使用预训练的 Word2Vec 模型

    我有一个Word2Vec训练过的模型Gensim 我如何使用它Tensorflow for Word Embeddings 我不想在 Tensorflow 中从头开始训练嵌入 有人可以告诉我如何用一些示例代码来做到这一点吗 假设您有一个字典
  • ubuntu 20.04 上无法获取卷积算法错误~tensorflow-gpu

    我有一个 NVIDIA 2070 RTX GPU 我的操作系统是 Ubuntu20 04 我已经使用 conda 安装了tensorflow gpu 包 我有not安装了 CUDA toolkit 我相信它还会安装 CUDA toolkit
  • 无法使用 tf.data.Dataset 对组件 0 中具有不同形状的张量进行批处理

    我的输入管道中出现以下错误 tensorflow python framework errors impl InvalidArgumentError 不能 分量 0 中具有不同形状的批量张量 第一个元素有 形状为 2 48 48 3 元素
  • 如何从张量流数据集迭代器返回同一批次两次?

    我正在转换一些旧代码以使用数据集 API 此代码使用feed dict将一批数据送入列车运行 实际上是三次 然后重新计算损失以供显示使用同一批 所以我需要一个迭代器来返回完全相同的批次两次 或多次 不幸的是 我似乎找不到一种使用张量流数据集
  • Tensorflow Eager Execution 不适用于学习率衰减

    在这里尝试让一个热切的执行模型与 LR 衰减一起工作 但没有成功 这似乎是一个错误 因为学习率衰减张量似乎没有更新 如果我遗漏了什么 你可以帮我一下吗 谢谢 下面的代码正在学习一些词嵌入 但是 那学习率衰减部分根本不起作用 class Wo
  • 我无法使用 scikeras.wrappers.KerasRegressor 执行 cross_val_score

    from tensorflow import keras from sklearn model selection import cross val score from sklearn datasets import make regre

随机推荐