我是CNN的新手。我已经读过大小为105 * 105的图像作为numpy数组。 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)