evaleria
evaleria

Reputation: 1411

module 'tensorflow.python.keras.api._v2.keras.layers' has no attribute 'CuDNNLSTM'

When I write tf.keras.layers.LSTM, I get the warning

Note that this layer is not optimized for performance. Please use tf.keras.layers.CuDNNLSTM for better performance on GPU.

But when I change the layer to tf.keras.layers.CuDNNLSTM, I get the error

AttributeError: module 'tensorflow.python.keras.api._v2.keras.layers' has no attribute 'CuDNNLSTM'

Tensorflow version is 2.0.0-alpha0, Keras version is 2.2.4-tf.

How can I fix this problem?

Upvotes: 12

Views: 24059

Answers (1)

Stewart_R
Stewart_R

Reputation: 14515

In general, in TensorFlow 2.0 we should just use:

tf.keras.layers.LSTM

which, despite the warning, will use the GPU.

The warning message incorrectly existed in the 2.0.0-alpha0 version but has since been removed in 2.0.0-beta1

If for some reason you specifically need the original implementation of tf.keras.layers.CuDNNLSTM then you can use tf.compat.v1.keras.layers.CuDNNLSTM but this would be an edge case.

Upvotes: 13

Related Questions