python - 无效参数错误 : No OpKernel was registered to support Op 'CudnnRNN'

标签 python python-3.x tensorflow gpu

我按照此处提供的步骤操作:https://www.tensorflow.org/install/gpu 安装与我的 GPU 配合使用的tensorflow,并使用 cuDNN SDK 但由于某些原因我仍然无法使用它,并且仍然收到此错误:

tensorflow.python.framework.errors_impl.InvalidArgumentError: No OpKernel was registered to support Op 'CudnnRNN' used by node sequential/cu_dnnlstm/CudnnRNN (defined at cudrnn.py:27) with these attrs: [input_mode="linear_input", T=DT_FLOAT, direction="unidirectional", rnn_mode="lstm", seed2=0, is_training=true, seed=0, dropout=0]
Registered devices: [CPU, XLA_CPU, XLA_GPU]
Registered kernels:
  device='GPU'; T in [DT_DOUBLE]
  device='GPU'; T in [DT_FLOAT]
  device='GPU'; T in [DT_HALF]

即使 GPU 已注册,但 TensorFlow 声称他们找不到 OpKernel。

我正在使用:

tensoflow-gpu 1.14.0

CUDA 10.0

Ubuntu 18.04

P.S:我可以使用tensorflow运行其他代码,通过检查nvidia-smi我可以看到GPU实际上正在被使用。

任何人都可以帮我知道为什么我会遇到这个问题吗?

这是我尝试运行的代码:

model = tf.keras.Sequential([
    tf.keras.layers.CuDNNLSTM(
        3,
        return_sequences=False),
    tf.keras.layers.Dense(1)
])

model.compile(
    optimizer=tf.keras.optimizers.Adam(0.1, decay=0.003), 
    loss=tf.keras.losses.mse)

model.fit(train_x, train_y, epochs=100, validation_split=0, shuffle=False)

最佳答案

您的注册设备显示 XLA_GPU,它是经过优化的编译器,但与您使用的 tensorflow 库所期望的 GPU 不同,

您可以检查几种解决方法,

关于python - 无效参数错误 : No OpKernel was registered to support Op 'CudnnRNN' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58099106/

相关文章:

python - 循环将数据从串口读取到数据库

python - 如何按整数对元组的混合列表进行排序?

Python网络X : Confining force-directed layout within circular boundary

python - 类似于 string.join 但带有随机分隔符

python - LSTM Keras 输入形状混淆

python - 读取 csv 时加快日期时间格式化速度

python - 安装Python的Mageck包时修复C编译环境错误的问题

python - 通过 Python 电子邮件库发送电子邮件会引发错误 "expected string or bytes-like object"

tensorflow - 尝试从 TensorFlow Hub 导入 Elmo 模块时出错?

python - MNIST : get confusion matrix