我按照此处提供的步骤操作: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/