Win10 TensorFlow: failed call to cuInit: CUDA_ERROR_UNKNOWN

一、驱动问题

首先,查看一下自己的电脑需要怎样的驱动,我们可以先到 http://www.nvidia.com/Download/index.aspx 查询下我们需要的是怎样的驱动,这里我的显卡是 GTX 1080,所以以此为例说明,勾选好对应的配置:

Win10 TensorFlow: failed call to cuInit: CUDA_ERROR_UNKNOWN_第1张图片

点击 Search,可以看到查询结果如下所示:

Win10 TensorFlow: failed call to cuInit: CUDA_ERROR_UNKNOWN_第2张图片

这里说明我们需要的版本是 417.35。

接下来如果我们之前安装了驱动的话,可以重新安装一下,如果当前已经安装好了就不必了。

第一步:GeForce Experience

Win10 TensorFlow: failed call to cuInit: CUDA_ERROR_UNKNOWN_第3张图片

第二步:更新驱动程序,安装完后,关闭自动更新

Win10 TensorFlow: failed call to cuInit: CUDA_ERROR_UNKNOWN_第4张图片

二、软件版本问题

如若上一步无法解决问题:

请确定cuda与cudnn版本是匹配的,并且cudnn的版本应对应TensorFlow。

例如:

Cuda 9.2

Win10 TensorFlow: failed call to cuInit: CUDA_ERROR_UNKNOWN_第5张图片

使用管理员权限安装,一路默认。

安装完成之后打开命令行,输入:nvcc -V查看版本,如果出现以下类似信息表示安装成功。

Win10 TensorFlow: failed call to cuInit: CUDA_ERROR_UNKNOWN_第6张图片

安装成功后,我的电脑上点右键,打开属性->高级系统设置->环境变量,可以看到系统中多了CUDA_PATH和CUDA_PATH_V9_2两个环境变量。

Win10 TensorFlow: failed call to cuInit: CUDA_ERROR_UNKNOWN_第7张图片

 

我们还需要添加如下几个变量:

在用户变量Path下添加:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2

Win10 TensorFlow: failed call to cuInit: CUDA_ERROR_UNKNOWN_第8张图片

设置完成之后,我们可以打开命令行来查看。

Win10 TensorFlow: failed call to cuInit: CUDA_ERROR_UNKNOWN_第9张图片

 

Tensorflow

目前,tensorflow还不能支持cuda9.2,所以只能通过源码编译或者别人编译好的安装包安装。大神编译的各种版本的tensorflow安装包地址:

https://github.com/fo40225/tensorflow-windows-wheel

Win10 TensorFlow: failed call to cuInit: CUDA_ERROR_UNKNOWN_第10张图片

下载完成后将

tensorflow-1.9.0-cp36-cp36m-win_amd64.whl

tensorflow_gpu-1.9.0-cp36-cp36m-win_amd64.whl

复制到C:\Windows\System32文件夹下,然后执行命令:

pip install tensorflow-1.9.0-cp36-cp36m-win_amd64.whl

pip install  tensorflow_gpu-1.9.0-cp36-cp36m-win_amd64.whl
--------------------- 
注意:一定不要tensorflow-gpu和tensorflow(cpu版)一起装,因为这样装有个先后顺序问题,先安装tensorflow-gpu再安装tensorflow,gpu版本直接不能用了。

cudnn

从上面,可以看到对应的cudnn7.1,并在官方下载:

https://developer.nvidia.com/rdp/cudnn-archive

Win10 TensorFlow: failed call to cuInit: CUDA_ERROR_UNKNOWN_第11张图片

经一步一步筛查,问题解决:

你可能感兴趣的:(Tensorflow,Python)