安装cuda和cudnn过程中踩的坑

因为数据量太大要用tensorflow-gpu了,然后我打开了https://www.tensorflow.org/install/source_windows

我安装的tensorflow2.2,然后找到这么个东西

啊,也就是说,我需要安装cuda10.1和cudnn7.6(这个的GPU驱动最低要求418.X,我的1080算力6.1,安装了457.x驱动,没有问题~)

于是我进入cuda官网和cudnn官网,下载了cuda和这么个东西

安装完验证一下,cmd输入ipython:

import tensorflow as tf
tf.config,list_physical_devices('GPU')

结果如下:

In [1]: import tensorflow as tf
2020-12-08 09:28:33.192053: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll

In [2]: tf.config.list_physical_devices('GPU')
2020-12-08 09:28:38.076395: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library nvcuda.dll
2020-12-08 09:28:38.102058: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: GeForce GTX 1080 computeCapability: 6.1
coreClock: 1.7845GHz coreCount: 20 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 298.32GiB/s
2020-12-08 09:28:38.108714: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
2020-12-08 09:28:38.150620: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_10.dll
2020-12-08 09:28:38.195522: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cufft64_10.dll
2020-12-08 09:28:38.205895: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library curand64_10.dll
2020-12-08 09:28:38.257251: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusolver64_10.dll
2020-12-08 09:28:38.281755: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusparse64_10.dll
2020-12-08 09:28:38.285713: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudnn64_7.dll'; dlerror: cudnn64_7.dll not found
2020-12-08 09:28:38.288173: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1598] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...
Out[2]: []

嗯???怎么会没有cudnn64_7.ddl???我看了一眼我cudnn的ddl,发现我居然安装成8了(手残吧可能),于是我再次打开cudnn,确定自己点了个这么个东西。

装完之后添加环境变量,再次去验证安装。

结果GPU居然是空列表???刚刚那个起码还找到了设备只是用不了,这个彻底空了???

好吧,我又去看了眼自己的cudnn,发现每个目录下只有一个文件(刚刚的版本8每个目录下都有好几个文件呢)。

想着会不会是我没有重新启动ipython或者这个文件有相对路径之类的问题。

于是乎,我先把cudnn的文件直接copy到cuda目录下的同名目录下,删去了刚刚添加的环境变量。

然后直接去ipython上试了试:

直接报错

重新打开ipython:

In [1]: import tensorflow as tf
2020-12-08 09:46:13.198478: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll

In [2]: tf.config.list_physical_devices('GPU')
2020-12-08 09:46:16.595417: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library nvcuda.dll
2020-12-08 09:46:16.615413: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: GeForce GTX 1080 computeCapability: 6.1
coreClock: 1.7845GHz coreCount: 20 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 298.32GiB/s
2020-12-08 09:46:16.620825: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
2020-12-08 09:46:16.625676: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_10.dll
2020-12-08 09:46:16.630241: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cufft64_10.dll
2020-12-08 09:46:16.633591: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library curand64_10.dll
2020-12-08 09:46:16.638724: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusolver64_10.dll
2020-12-08 09:46:16.643290: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusparse64_10.dll
2020-12-08 09:46:16.660019: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudnn64_7.dll
2020-12-08 09:46:16.662985: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1703] Adding visible gpu devices: 0
Out[2]: [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

成功解决!撒花~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值