tensorflow使用GPU报错记录

经历了抓耳挠腮,疯狂查找的经历,今天梳理一下tensorflow利用GPU遇到各种问题!

一、找对tensorflow和cuda版本

如果安装的tensorflow和GPU版本不相符,就会报各种 .dll 文件缺失,.h 文件缺失,非常头大,找文件的过程就会浪费很长时间。所以计划安装前一定要把版本匹配对(查看已安装cuda版本,cmd输入:nvcc -V,查看电脑可安装最高cuda版本,cmd输入:nvidia-smi)!可以参考下面的博主文章:

tensorflow2.10.0+CUDA11.2+cuDNN8.1 for cuda11.2_tensorflow2.10配什么版本cuda_weightOneMillion的博客-CSDN博客​​​​​​

下图是安装后的目录文件,除了cudnn开头的.dll文件其他都是有的,cudnn开头文件在下载cudnn后放进去!(我的版本是python 3.9.17+tensorflow_gpu-2.10.0+CUDA 11.2+cuDNN 8.9.2.26)

二、 cudnn文件里包含cuda缺少的部分dll和h文件,可以通过清华源下载(不需要注册):

Index of /anaconda/pkgs/main/win-64/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

以cudnn-8.9.2.26-cuda11_0.tar为例,里面的文件目录有:

     cudnn-8.9.2.26-cuda11_0.tar\info

     cudnn-8.9.2.26-cuda11_0.tar\Library

     cudnn-8.9.2.26-cuda11_0.tar\Library\bin

按图将cudnn文件复制到CUDA的版本号目录下的相应文件夹中(左:cudnn目录,右CUDA目录,CUDA目录可以通过cmd窗口输入:set cuda命令找到)

三、如果你已经安装好了,并且不打算卸载重新安装,想试试以找文件打补丁的方式(我最初也是这么想的),以下方法可以参考:

3.1 有个文件(cublasLt64_11.dll)很难找:

需要链接@我

3.2 除了cudnn里有的文件,还有一些会报错的dll文件,如cublas64_11.dll,cufft64_10.dll,cusolver64_11.dll,查看CUDA bin目录下如果有前缀一致,标号版本更高,可以copy一份改一下报错缺少的名字!如果没有,那就得全网找了!

3.3 找完全部缺少的dll,h文件后,可能会报缺少 zlibwapi.dll 文件,可以通过下面链接下载,注意有32和64位的差别,64位放c:\windows\system32

ZLIB DLL Home Page (winimage.com)

3.4 整完上面的以后,又出了一个报错,全网没找到解决方法,最后只能将CUDA10.0升级 到11.2【奔溃】(在我安装和tensorflow匹配的CUDA版本后就没有了):

2023-09-09 11:51:42.059949: E tensorflow/stream_executor/cuda/cuda_blas.cc:183] failed to set new cublas math mode: cublas error
2023-09-09 11:51:42.060049: W tensorflow/core/framework/op_kernel.cc:1780] OP_REQUIRES failed at matmul_op_impl.h:625 : INTERNAL: Failed initializing math mode

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值