【发布时间】: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