ValueError:形状(32,1)和(32,2)不兼容



大家好,我正在用lstm模型做情感分析项目预处理后的数据

我正在做pad序列处理文本和标签编码极性

之后,我的形状是:

(7136, 65) (7136,)
(1784, 65) (1784,)

我的lstm模型代码是

model = Sequential()
model.add(Embedding(2000, 32, input_length=max_review_length))
model.add(SpatialDropout1D(0.3))
model.add(LSTM(176, dropout=0.2, recurrent_dropout=0.2))
model.add(Dense(2,activation='sigmoid'))
model.compile(loss = 'binary_crossentropy', optimizer='adam', metrics = ['accuracy'])
print(model.summary())
model.fit(X_train, y_train,validation_data = (X_test,y_test),epochs = 5, batch_size=32, verbose = 'auto')

但是我得到的值错误与形状
请帮助我,并建议我
我是新的这些概念
希望听到积极的回应

所以…binary_crossentropy期望一个二元分类问题。您也可以使用categorical_crossentropy(带有one-hot标签),但我认为您可以设置

model.add(Dense(1,activation='sigmoid'))

不是

model.add(Dense(2,activation='sigmoid'))

应该可以。

最新更新