Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 945
evaleria Avatar asked Apr 19 '19 11:04

evaleria


1 Answers

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.

like image 190
Stewart_R Avatar answered Oct 17 '22 14:10

Stewart_R