Python-深度学习-学习笔记(19):对于问题tensorflow:ImportError: Could not find 'cudart64_90.dll'的解决

Python-深度学习-学习笔记(19):对于问题tensorflow:ImportError: Could not find 'cudart64_90.dll’的解决

问题描述:在之前的进行神经网络中,突然出现了一个错误:AttributeError: module ‘tensorflow’ has no attribute ‘reset_default_graph’,之后我采取将tensorflow-gpu卸载,并用pip install tensorflow-gpu重新下载,发现版本变为tensorflow-gpu 2.0.0,此时与我的CUDA和cnDNN版本都对不上。

之后我查找了一下tensorflow、CUDA和cuDNN的版本对照表
Python-深度学习-学习笔记(19):对于问题tensorflow:ImportError: Could not find 'cudart64_90.dll'的解决_第1张图片
采用tensorflow-gpu 1.8.0 + CUDA 9.0.176 + cnDNN 7.4.1.5的搭配方式,见

https://blog.csdn.net/qq_42826337/article/details/88301239

下载对应的tensorflow-gpu的方法如下:

pip install tensorflow-gpu==1.8.0

注意:在下载之前一定要将之前所有有关tensorflow的内容删干净,可以通过下面代码进行删除。

pip uninstall tensorflow-gpu

也可以直接从路径中进行删除
Python-深度学习-学习笔记(19):对于问题tensorflow:ImportError: Could not find 'cudart64_90.dll'的解决_第2张图片
重新安装了tensorflow-gpu后,紧接着进行keras的安装,在导入时发现tensorflow没有问题,而导入keras又出现了错误。错误代码:tensorflow:ImportError: Could not find ‘cudart64_90.dll’ 这个问题说明系统找不到此dll文件,也就是CUDA9版本对应win64下的这个文件。
在这里插入图片描述

遇到这个问题第一种解决方法:检查此路径下是否包含这个文件。
Python-深度学习-学习笔记(19):对于问题tensorflow:ImportError: Could not find 'cudart64_90.dll'的解决_第3张图片
如果没有的话,请将你CUDA下载包中的三个文件复制并合并到v9.0目录下。
Python-深度学习-学习笔记(19):对于问题tensorflow:ImportError: Could not find 'cudart64_90.dll'的解决_第4张图片
如果没有的话可能是你电脑的系统变量无法自动对该路径进行查找,所以需要进行系统虚拟环境变量的配置:

设置系统环境变量
右击桌面的“计算机”图标,选择属性,依次选择“高级系统设置”–“环境变量”,在“系统变量(S)”中找到Path选项,双击编辑“变量值(V)”,将这几个路径都添加在path的后面,并以分号“;”隔开,分隔的格式与添加前的内容一致。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include

Python-深度学习-学习笔记(19):对于问题tensorflow:ImportError: Could not find 'cudart64_90.dll'的解决_第5张图片
点击下面新建,创建一下几个新的环境变量

CUDA_PATH = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0 
CUDA_PATH_V9_0 = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0 
CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0 
CUDA_LIB_PATH = %CUDA_PATH%\lib\x64 
CUDA_BIN_PATH = %CUDA_PATH%\bin 
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64 
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

Python-深度学习-学习笔记(19):对于问题tensorflow:ImportError: Could not find 'cudart64_90.dll'的解决_第6张图片
到这里问题就应该解决了,重新导入keras。

import keras

如果没有版本问题,应该能够正常导入了。但是如果有版本问题的warning,那么按照它的要求upgrade你的库版本即可。

下面附图我的虚拟环境的版本,供参考:
Python-深度学习-学习笔记(19):对于问题tensorflow:ImportError: Could not find 'cudart64_90.dll'的解决_第7张图片
Python-深度学习-学习笔记(19):对于问题tensorflow:ImportError: Could not find 'cudart64_90.dll'的解决_第8张图片
Python-深度学习-学习笔记(19):对于问题tensorflow:ImportError: Could not find 'cudart64_90.dll'的解决_第9张图片
Python-深度学习-学习笔记(19):对于问题tensorflow:ImportError: Could not find 'cudart64_90.dll'的解决_第10张图片
一般出现的错误有
缺少dll文件:tensorflow:ImportError: Could not find ‘cudart64_90.dll
缺少类属性:AttributeError: module ‘tensorflow’ has no attribute 'reset_default_graph’
导入不了tensorflow:Failed to load the native TensorFlow runtime

遇到这些错误,首要要考虑版本对应问题,重新删除再下载进行尝试,网上的方法我都替你们试过了。
在这里插入图片描述

你可能感兴趣的:(Python系列,CUDA,tensorflow,dll文件,cudnn64)