Ошибка при проверке цели: ожидается, что плотность_1 будет иметь форму (4096,), но получен массив с формой (2,)
Я новичок в CNN. Я прочитал изображение размером 105*105 в виде массива. train_x выглядит как (1,105,105,1). Все вроде нормально но есть ошибка при попытке подогнать.
input_shape=(105,105,1)
convnet=Sequential()
convnet.add(Conv2D(64,(10,10), activation='relu', input_shape=input_shape,
kernel_initializer=W_init, kernel_regularizer=l2(2e-4)))
convnet.add(LeakyReLU(alpha=0.1))
convnet.add(MaxPooling2D())
convnet.add(Conv2D(128,(7,7), activation='relu', kernel_regularizer=l2(2e-4),
kernel_initializer=W_init, bias_initializer=b_init))
convnet.add(LeakyReLU(alpha=0.1))
convnet.add(MaxPooling2D())
convnet.add(Conv2D(128,(4,4),activation='relu', kernel_initializer=W_init,
kernel_regularizer=l2(2e-4),bias_initializer=b_init))
convnet.add(LeakyReLU(alpha=0.1))
convnet.add(MaxPooling2D())
convnet.add(Conv2D(256,(4,4),activation='relu', kernel_initializer=W_init,
kernel_regularizer=l2(2e-4), bias_initializer=b_init))
convnet.add(LeakyReLU(alpha=0.1))
convnet.add(MaxPooling2D())
convnet.add(Flatten())
convnet.add(Dense(4096, activation='softmax', kernel_regularizer=l2(2e-4),
kernel_initializer=W_init, bias_initializer=b_init))
convnet.compile(loss=keras.losses.categorical_crossentropy,
optimizer=keras.optimizers.Adam(), metrics=['accuracy'])
convnet_train = convnet.fit([train_X], train_label,
batch_size=batch_size,epochs=epochs,verbose=1)