InvalidArgumentError: Нет зарегистрированного OpKernel для поддержки Op 'CudnnRNN' - PullRequest
1 голос
/ 25 сентября 2019

Я выполнил следующие шаги: https://www.tensorflow.org/install/gpu, чтобы установить tenorflow, работающий с моим gpu, и использовать 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]

, несмотря на то, что графический процессор зарегистрирован, но тензор потока заявляет, что не может найти OpKernel.

Я использую:

tenenslow-gpu 1.14.0

Cuda 10.0

Ubuntu 18.04

PS: я могу запустить другой код, используя тензор потока, и проверив nvidia-smi, я вижу, что графические процессоры фактически используются.

Может кто-нибудь, пожалуйста, помогите мне, зная, почему я получаю эту проблему?

это код, который я пытаюсь запустить:

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)
...