今天早上,我使用标准更新程序(使用更新管理器)更新了 Mint 18.3 Sylvia(基于 Ubuntu xenial 16.04)上的 nvidia 驱动程序,在运行 TensorFlow 1.4.1 时出现此错误:
2018-01-10 13:48:39.161422: E tensorflow/stream_executor/cuda/cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2018-01-10 13:48:39.161456: E tensorflow/stream_executor/cuda/cuda_dnn.cc:352] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2018-01-10 13:48:39.161466: F tensorflow/core/kernels/conv_ops.cc:667] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms)
我正在使用cuda 8.0和cudnn 7.0
为什么以及如何解决它?
经过一段时间的调查,我注意到 /usr/lib/nvidia-384 文件夹中有两个断开的链接,仍然指向 384.90 文件。
所以我只是更新了两个链接:
ln -sf libnvidia-ptxjitcompiler.so.384.111 libnvidia-ptxjitcompiler.so.1
ln -sf libnvidia-wfb.so.384.111 libnvidia-wfb.so.1
现在效果完美。
顺便说一句,我遇到的另一个类似问题是当我从一个主要驱动程序版本升级到另一个版本时,例如从 372 升级到 384,忘记更新脚本中的 LD_LIBRARY_PATH。