У меня есть простой код Keras для классификации по нескольким меткам,
from keras.models import Sequential
from keras.layers import Conv2D, GlobalAveragePooling2D, Dense, MaxPooling2D, Flatten
from keras.callbacks import EarlyStopping
import keras
(x_train, y_train), (x_test, y_test) = keras.datasets.fashion_mnist.load_data()
model = Sequential()
model.add(Conv2D(64, (3,3), activation='relu', padding='same', input_shape=(x_train.shape[1],x_train.shape[2],1)))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu', padding='same'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
#model.add(Dense(128, activation='relu'))
model.add(Dense(10, activation='softmax'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.summary()
Сводка,
Теперь, как вы можете видеть на последнем слоеЯ использовал «сигмоид», но так как это классификация по нескольким меткам, я хочу использовать сигмоид.Но я получаю следующую ошибку, если я делаю то же самое.
ValueError: Ошибка при проверке цели: ожидается, что плотность_2 имеет форму (10,), но получен массив с формой (1,)
Что может быть здесь исправлено?