- tensorflow-gpu==1.4.0
- CUDA (release 8.0, V8.0.60) 8.0版
- cudnn(6.0)
但是最近在使用tensorflow时,突然报错
OSError: [WinError 126] 找不到指定的模块/Could not find ‘cudart64_6.dll’
原因:在tensorflow调用NVIDIA时缺少了cudart64_6.dll
,cudart64_6.dll
是在cudnn6.0里的文件,这可能与我的软件自动升级有关,cudnn升级后造成和tensorflow1.4要求的版本不一致从而导致错误。
这里说明一下如何查看tensorflow-gpu对应的CUDA版本和cudnn版本的问题:(预先安装好Anaconda的前提下)
在路径D:\Anaconda3\Lib\site-packages\tensorflow\python\platform
下可以看到build_info.py文件
msvcp_dll_name = 'msvcp140.dll'
cudart_dll_name = 'cudart64_80.dll'
cuda_version_number = '8.0' # CUDA8.0
nvcuda_dll_name = 'nvcuda.dll'
cudnn_dll_name = 'cudnn64_6.dll'
cudnn_version_number = '6' # cudnn6.0
- 1
- 2
- 3
- 4
- 5
- 6
这是在tensorflow1.4.0中的build_info.py文件,可以看出其对应的CUDA为8.0,cudnn为6.0。
tensorflow1.4以上的版本都可以通过这种方法查看对应的CUDA和cudnn版本。
在tensorflow1.3版本中这种方法不适用,因为没有build_info.py这个文件(亲测)
首先要会查看自己的CUDA版本,确定一下是否需要升级或者卸载重新安装
方法1:
在目录C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA
下可以看到安装的CUDA版本
方法2:
打开cmd,进入命令行模式,输入命令
nvcc –version
- 1
cudnn的下载
- cudnn下载传送门 只不过需要注册账户,如果不想麻烦的话可以直接评论我,我可以发过去。要注意与自己显卡的类型相对应。
cudnn不用安装,下在玩解压后如图:
只需将cudnn里的三个文件夹里的文件复制到对应的NVIDIA文件下就行
注意:是将cuda里的三个文件夹里的文件,不是将文件夹直接复制过去覆盖C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
路径下相同的文件夹。