【问题标题】:Fail to find the dnn implementation Ububtu 18.04找不到 dnn 实现 Ubuntu 18.04
【发布时间】:2023-03-17 11:26:01
【问题描述】:

Tensorflow-gpu v1.13.1,CUDA:10.0,CuDNN:7.5.1,显卡:RTX 2080,Ubuntu:18.04

我目前正在尝试使用 CuDNNLSTM 在 tf 中训练 LSTM 模型,但是每当我运行我的代码时,我都会收到以下错误

2019-04-28 23:43:48.936154: E tensorflow/stream_executor/cuda/cuda_dnn.cc:334] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2019-04-28 23:43:48.936212: W tensorflow/core/framework/op_kernel.cc:1401] OP_REQUIRES failed at cudnn_rnn_ops.cc:1217 : Unknown: Fail to find the dnn implementation.
Traceback (most recent call last):
  File "/home/nicholas/PycharmProjects/deepLearninginKeras/crypto_currency_predict/crypto.py", line 139, in <module>
    callbacks=[tensorboard, checkpoint])
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py", line 880, in fit
    validation_steps=validation_steps)
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/keras/engine/training_arrays.py", line 329, in model_iteration
    batch_outs = f(ins_batch)
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/keras/backend.py", line 3076, in __call__
    run_metadata=self.run_metadata)
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1439, in __call__
    run_metadata_ptr)
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/framework/errors_impl.py", line 528, in __exit__
    c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.UnknownError: Fail to find the dnn implementation.
     [[{{node cu_dnnlstm/CudnnRNN}}]]
     [[{{node ConstantFoldingCtrl/loss/dense_1_loss/broadcast_weights/assert_broadcastable/AssertGuard/Switch_0}}]]

我不确定到底是什么导致了这个问题,我觉得部分问题可能在这里,我安装/正在使用的 CUDA 版本与我的显卡上的不同。在终端中,我使用命令“nvidia-smi”得到以下信息:

NVIDIA-SMI 418.56 驱动程序版本:418.56 CUDA 版本:10.1

在页面底部的 ~/.bashrc 中,我有以下路径:

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/$/cuda/extras/CUPTI/lib64
export CUDA_HOME=/usr/local/cuda

任何见解将不胜感激。 这是我模型中的示例层:

model.add(tf.keras.layers.CuDNNLSTM(128, input_shape=train_x.shape[1:], return_sequences=True))
model.add(tf.keras.layers.Dropout(0.2))
model.add(tf.keras.layers.BatchNormalization())

例如最好转到 ubuntu 16 还是不能解决问题。这似乎是 RTX 20xx 的一个非常常见的问题。

【问题讨论】:

    标签: python ubuntu tensorflow cudnn


    【解决方案1】:

    对我来说,在拟合之前添加以下配置解决了这个问题:

    config = tf.ConfigProto()
    config.gpu_options.allow_growth = True
    tf.Session(config=config)
    

    【讨论】:

      猜你喜欢
      • 2019-06-25
      • 2019-10-13
      • 1970-01-01
      • 2019-11-20
      • 2019-01-12
      • 2020-09-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多