AttributeError:模块“ tensorflow”没有属性“ CuDNNLSTM”

时间:2020-05-07 13:46:51

标签: tensorflow

我的代码如下:

import tensorflow as tf
from tensorflow.keras import layers

# initial layer
model = tf.keras.Sequential()
# emmbed word vectors
model.add(tf.keras.layers.Embedding(len(fasttext_model.wv.vocab)+1,300,input_length=X.shape[1],weights=[embed_matrix],trainable=False))


model.add(tf.CuDNNLSTM(300, return_sequences = True))
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Dense(y.shape[1],activation="softmax")) 
model.summary()

此代码中出现以下错误。我该如何解决?

AttributeError: module 'tensorflow' has no attribute 'CuDNNLSTM'

1 个答案:

答案 0 :(得分:1)

如果您使用的是2.0之前的版本,则声明为:

model.add(tf.keras.layers.CuDNNLSTM(300, return_sequences = True))

如果tensorflow的版本> = 2.0,则此层已被删除。相反,仅将LSTM层与默认激活一起使用会自动使用CuDNN。您可以使用:

model.add(tf.keras.layers.LSTM(300, return_sequences = True))