我已经在带有 Cuda 9.0 和 CuDNN 7.0.5 以及普通 Python 2.7 的 Ubuntu 16.04 上安装了 TensorFlow 1.7,尽管它们的 CUDA 和 CuDNN 示例都运行良好,并且 TensorFlow 可以看到 GPU(因此可以运行一些 TensorFlow 示例),但那些使用 CuDNN 的示例(就像大多数 CNN 例子一样)没有。他们失败并显示以下信息消息:
2018-04-10 16:14:17.013026: I tensorflow/stream_executor/plugin_registry.cc:243] Selecting default DNN plugin, cuDNN
25428 2018-04-10 16:14:17.013100: E tensorflow/stream_executor/cuda/cuda_dnn.cc:403] could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
25429 2018-04-10 16:14:17.013119: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:369] driver version file contents: """NVRM version: NVIDIA UNIX x86_64 Kernel Module 384.130 Wed Mar 21 03:37:26 PDT 2018
25430 GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9)
25431 """
25432 2018-04-10 16:14:17.013131: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:112] version string "384.130" made value 384.130.0
25433 2018-04-10 16:14:17.013135: E tensorflow/stream_executor/cuda/cuda_dnn.cc:411] possibly insufficient driver version: 384.130.0
25434 2018-04-10 16:14:17.013139: E tensorflow/stream_executor/cuda/cuda_dnn.cc:370] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
25435 2018-04-10 16:14:17.013143: F tensorflow/core/kernels/conv_ops.cc:712] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms)
打开大量 VLOG 消息(请参阅下面的链接了解如何执行此操作)不会产生任何其他相关消息。
这里的关键信息might be“选择默认的 DNN 插件 cuDNN”,因为查看代码我可能认为它无法加载 cuDNN 库模块,但据我所知这实际上是正常的(所以不是警告),问题可能是其他原因。
例如,“CUDNN_STATUS_NOT_INITIALIZED”消息似乎是在早期版本中由 TF 提前过度分配内存引起的(在 TF GitHub 问题列表中找到了这一点),因此 CuDNN 无法初始化,但我尝试了这些补救措施(包括重置GPU 和重新启动),但它们没有帮助。
关于我下一步应该尝试什么有什么想法吗?
好吧,我发现了这一点,这是因为我安装了错误版本的 cuDNN,所以我怀疑它实际上没有找到正确的共享库,这是真的。
基本上我安装了cuDNN v7.1.2 for Cuda 9.1
代替cuDNN v7.1.2 for Cuda 9.0
,这似乎导致它默默地失败 - 尽管我预计此时会出现错误消息。请注意,我正在运行详细的 VLOG(请参阅我在这篇文章中的回答,了解有关如何执行此操作的更多信息)打开 TF 日志 https://stackoverflow.com/questions/44853059/tensorflow-logging-messages-do-not-appear/49756653#49756653):
当我安装时cuDNN v7.1.2 for Cuda 9.0
事实上,它确实找到了它,并抱怨该版本不够新 - 事实上,真正的问题是它不够旧,但至少我有一些真实的数据可以使用。
到底cuDNN v7.0.5 for Cuda 9.0
是我所需要的并且有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)