Я работал над простой сверточной моделью нейронной сети, но результат, похоже, не соответствует желаемой форме.
from keras.layers import Input, Conv2D, MaxPooling2D, Reshape, Flatten, Dense, Dropout, Activation
from keras.models import Sequential
from keras.layers.convolutional import *
from keras.layers.pooling import *
from keras.optimizers import Adam
from keras.optimizers import rmsprop
from keras.metrics import categorical_crossentropy
model_CL = Sequential([
Dense(64, activation = 'relu', input_shape = (200, 4, 1)),
Conv2D(64, kernel_size = (3, 3), activation = 'relu', padding = 'same'),
MaxPooling2D(pool_size = (2, 2), strides = 2, padding = 'valid'),
Dropout(rate=0.3),
Conv2D(64, kernel_size = (5, 5), activation = 'relu', padding = 'same'),
Flatten(),
Dense(2, activation = 'softmax')
])
model_CL.compile(loss = 'sparse_categorical_crossentropy', metrics = ['accuracy'], optimizer = 'Adam')
model_CL.summary()
from keras.callbacks import EarlyStopping
from keras.callbacks import ModelCheckpoint
es_CL = EarlyStopping(monitor='val_loss', mode='min', verbose=1, patience=5)
mc_CL = ModelCheckpoint('best_model_CL.h5', monitor='val_acc', mode='max', verbose=1, save_best_only=True)
epochs = 50
hist_CL = model_CL.fit(CL_train_input, CL_train_label, validation_data=(CL_validation_input, CL_validation_label), batch_size=32, epochs=epochs, verbose=0, callbacks=[es_CL, mc_CL])
Таким образом, мой размер ввода не соответствуетпроблема. Форма ввода моего тренировочного набора (13630, 200, 4, 1), где 13630 - это количество данных, в то время как мой training_label выглядит следующим образом. (13630, 2) Я ожидал, что форма вывода модели будет (2,), но вместо этого кажется, что она ожидает (1,) в качестве размера вывода.
Так что моя ошибка выглядит следующим образом.
Ошибка при проверке целевого объекта: ожидалось, что плотность_2 будет иметь форму (1,), но получен массив с формой (2,)
только для справки,
Модель: "sequential_14"
Слой (тип) Выходной параметр Параметр #
density_27 (Плотный) (Нет, 200, 4, 64) 128
conv2d_27 (Conv2D) (Нет, 200, 4, 64) 36928
max_pooling2d_14 (MaxPooling (Нет, 100, 2, 64) 0
dropout_14 (Выпадение) (Нет, 100, 2, 64) 0
conv2d_28 (Conv2D) (None, 100, 2, 64) 102464
flatten_13 (Flatten) (None, 12800) 0
dens_28 (Плотный) (Нет, 2) 25602
Всего параметров: 165,122 Обучаемые параметры: 165,122 Необучаемые параметры: 0
Вот краткий обзор моей модели. Я не слишком уверен, почему он ожидает (1,).