我的代码如下:
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'
答案 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))