【问题标题】:CUDNN_STATUS_NOT_INITIALIZED when trying to run TensorFlow尝试运行 TensorFlow 时的 CUDNN_STATUS_NOT_INITIALIZED
【发布时间】:2018-09-21 01:36:19
【问题描述】:

我已经在带有 Cuda 9.0 和 CuDNN 7.0.5 和 vanilla 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 消息(请参阅下面的链接了解如何执行此操作)不会产生任何其他相关消息。

这里的关键信息可能是“选择默认 DNN 插件,cuDNN”,因为查看代码我可能认为它无法加载 cuDNN 库模块,但据我所知实际上是正常的(所以不是警告),问题可能是别的。

例如,“CUDNN_STATUS_NOT_INITIALIZED”消息似乎是由于 TF 在早期版本中过于激进地提前分配内存(在 TF GitHub 问题列表中找到的)所以 CuDNN 无法初始化,但我尝试了这些补救措施(包括重置 GPU 和重新启动),但它们没有帮助。

关于我接下来应该尝试什么有什么想法吗?

【问题讨论】:

    标签: python tensorflow gpu cudnn


    【解决方案1】:

    好的,我找到了,这是因为我安装了错误版本的 cuDNN,所以我怀疑它实际上没有找到正确的共享库是正确的。

    基本上,我安装了cuDNN v7.1.2 for Cuda 9.1 而不是cuDNN v7.1.2 for Cuda 9.0,这似乎导致它静默失败——尽管此时我预计会出现错误消息。请注意,我运行了详细的 VLOG,(有关如何执行此操作的更多信息,请参阅我在这篇文章中的回答 Turning on TF Logs):

    当我安装cuDNN v7.1.2 for Cuda 9.0 时,它确实找到了它并抱怨那个版本不够新——实际上真正的问题是它不够老,但至少我有一些真实的数据可以使用.

    最后,cuDNN v7.0.5 for Cuda 9.0 是我需要的并且有效。

    【讨论】:

    • 谢谢!这正是我的情况。
    猜你喜欢
    • 1970-01-01
    • 2021-08-06
    • 2021-06-09
    • 1970-01-01
    • 2020-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    相关资源
    最近更新 更多