Я использую модель keras со следующими слоями, чтобы предсказать метку ввода (из 4 меток)
embedding_layer = keras.layers.Embedding(MAX_NB_WORDS,
EMBEDDING_DIM,
weights=[embedding_matrix],
input_length=MAX_SEQUENCE_LENGTH,
trainable=False)
sequence_input = keras.layers.Input(shape = (MAX_SEQUENCE_LENGTH,),
dtype = 'int32')
embedded_sequences = embedding_layer(sequence_input)
hidden_layer = keras.layers.Dense(50, activation='relu')(embedded_sequences)
flat = keras.layers.Flatten()(hidden_layer)
preds = keras.layers.Dense(4, activation='softmax')(flat)
model = keras.models.Model(sequence_input, preds)
model.compile(loss='categorical_crossentropy', optimizer='rmsprop', metrics=['acc'])
model.fit(X_train, Y_train, batch_size=32, epochs=100)
Однако функция softmax возвращает количество выходов из 4 (потому что у меня 4 метки)
Когда я использую функцию прогнозирования для получения прогнозируемого Y с использованием той же модели, я получаю массив из 4 для каждого X, а не одну единственную метку, определяющую метку для ввода.
model.predict(X_test, batch_size = None, verbose = 0, steps = None)
Как сделать так, чтобы выходной слой модели keras или функция model.predict выбирали одну единственную метку, а не выводили веса для каждой метки?