model=tf.keras.Sequential([tf.keras.layers.Embedding(encoder.vocab_size,64),
tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(64, return_sequences=True)),
tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(32)),
tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(16)),
tf.keras.layers.Dense(64,activation='relu'),
tf.keras.layers.Dropout(0.5),
tf.keras.layers.Dense(1,activation='sigmoid')])
model.compile(loss='binary_crossentropy',optimizer=tf.keras.optimizers.Adam(1e-6),
metrics=['accuracy'])
history = model.fit(train_dataset,epochs = 5,validation_data = test_dataset,validation_steps = 30)
我试图使用tensorflow的内置数据集制作情感分析程序。但是在添加了这一层之后
tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(16))
我开始遇到此特定错误。否则,程序将正常运行。会是什么呢? 我不知道输入的形状,因此没有提及。
ValueError: Input 0 of layer bidirectional_16 is incompatible with the layer: expected ndim=3, found ndim=2. Full shape received: [None, 64]
解决了! 添加更多图层会提高模型的准确性,而仅训练5个纪元时是否有超调的可能?