我正在使用CNN做一个图像识别任务。而我在装修时遇到了一些问题。错误报告层“sequential_2”的***Input 0与层不兼容:预期形状=(None,256,256,1),找到形状=(None,65536)***。
但是,我检查了我的X_train形状,它是(4030,256,256,1),我的y_test形状是(4030,7)。
下面是我的CNN架构:
model = Sequential()
model.add(Conv2D(64,input_shape=(256,256,1),kernel_size=(5,5),activation='relu',padding='same'))
model.add(Dropout(0.25))
model.add(Conv2D(32,kernel_size=(5,5),activation='relu',padding='same'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.15))
model.add(Conv2D(32,kernel_size=(5,5),activation='relu',padding='same'))
model.add(MaxPooling2D(pool_size=(3, 3)))
model.add(Dropout(0.25))
model.add(Conv2D(32,kernel_size=(5,5),activation='relu',padding='same'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.5))
model.add(GlobalAveragePooling2D())
model.add(Flatten())
model.add(Dense(128,activation='relu'))
model.add(Dropout(0.25))
model.add(Dense(7,activation='softmax'))
model.summary()
model.compile(loss='categorical_crossentropy',
metrics=['accuracy'],
optimizer=RMSprop(lr=0.001))
#optimizer='adam')
和
epochs=150
batch_size=40
history=model.fit(X_train,y_train,
epochs=epochs,batch_size=batch_size,
validation_data=(X_test,y_test))
有人能帮我弄明白吗?
1条答案
按热度按时间sdnqo3pr1#
这看起来像是你在你的代码中的某个地方重塑了X_train或X_test,而你还没有共享。两个都仔细检查。