У меня есть этот код, и он работает, пока плотные единицы установлены на maxlen, но когда я изменяю число плотных единиц на 10, или 100, и т. Д. На любое другое число, которое дает этот вывод, мне нужно создать простой плотный слойс помощью trainx, trainy, testx, testy и установите плотность на 10 и вычислите точность. Пожалуйста, если кто-то должен это исправить или у вас есть простой код для запуска плотных с единицами = 10
def W():
model = Sequential()
model.add(Embedding(len(word2index), 5, input_length=MAX_LENGTH))
model.add(SpatialDropout1D(0.7))
model.add(LSTM(64, dropout=0.7, recurrent_dropout=0.7))
model.add(Dense(MAX_LENGTH, activation='softmax'))
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['acc'])
print(model.summary())
history = model.fit(train_sentences_X, train_tags_y, epochs=epochs, batch_size=batch_size, validation_split=0.2,
callbacks=[EarlyStopping(monitor='val_loss', patience=7, min_delta=0.0001)])
print(history)
Но когда я установил плотность на 10:
model.add(Dense(10, activation='softmax'))
, я получил эту ошибку:
Traceback (most recent call last):
Layer (type) Output Shape Param #
=================================================================
File "/Users/aa/PycharmProjects/Keras/mmm.py", line 237, in <module>
embedding_1 (Embedding) (None, 59, 5) 4475
W()
_________________________________________________________________
File "/Users/aa/PycharmProjects/Keras/mmm.py", line 179, in W
spatial_dropout1d_1 (Spatial (None, 59, 5) 0
callbacks=[EarlyStopping(monitor='val_loss', patience=7, min_delta=0.0001)])
_________________________________________________________________
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/keras/engine/training.py", line 952, in fit
lstm_1 (LSTM) (None, 64) 17920
batch_size=batch_size)
_________________________________________________________________
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/keras/engine/training.py", line 789, in _standardize_user_data
dense_1 (Dense) (None, 10) 650
exception_prefix='target')
=================================================================
Total params: 23,045
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/keras/engine/training_utils.py", line 138, in standardize_input_data
Trainable params: 23,045
str(data_shape))
Non-trainable params: 0
_________________________________________________________________
ValueError: Error when checking target: expected dense_1 to have shape (1,) but got array with shape (59,)
None
Process finished with exit code 1