因为数据量太大要用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')]
成功解决!撒花~