首页 > 解决方案 > 如何让 cudnn 工作?(初始化失败)

问题描述

在 Windows 10 上出现此错误

UnknownError:获取卷积算法失败。这可能是因为 cuDNN 初始化失败,因此请尝试查看上面是否打印了警告日志消息。[[{{node conv2d_1/convolution}} = Conv2D[T=DT_FLOAT, _class=["loc:@training_1/Adam/gradients/conv2d_1/convolution_grad/Conv2DBackpropFilter"], data_format="NCHW", dilations=[1, 1 , 1, 1], padding="VALID", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:GPU:0" ](training_1/Adam/gradients/conv2d_1/convolution_grad/Conv2DBackpropFilter-0-TransposeNHWCToNCHW-LayoutOptimizer, conv2d_1/kernel/read)]] [[{{node loss_1/mul/_267}} = _Recvclient_terminated=false, recv_device="/job :localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:

我有 RTx 2070 和:

带有所有补丁的 Python 3.6.5 tf 1.12.0 tf-gpu 1.12.0 cuda 9.0。cudnn 7.3.1 keras 2.2.4

我知道 cudnn 的 nvdia 页面,我在这里阅读了其他一些答案。我对缺少的小细节感兴趣。将 3 个文件移动到 CUDA 文件夹中的 3 个目录后,还有一步吗?也许有一个需要安装不同部件的顺序?

Cuda 似乎工作正常,python 看到了,matlab 也看到了。

为我从网上获得的 mnist 运行此代码时发生错误,如果我卸载 tensorflow-gpu 并在 cpu 上使用 tensorflow,则该代码有效。

过去有很大帮助的一个例子是,除非您自定义并取消选中 Visual Studio 选项,否则您无法安装 cuda。谢谢 !

标签: pythonkeras

解决方案


使用 CUDA 10 的 RTX 2070 卡也有类似的问题...

解决方案是使用:

config.gpu_options.allow_growth = True

在张量流中。

有关如何使用该参数的更多信息: 如何防止 tensorflow 分配整个 GPU 内存?


推荐阅读