keras 层“sequential_2”的输入0与层不兼容:预期形状=(None,256,256,1),找到形状=(None,65536)

dm7nw8vv  于 2023-04-30  发布在  其他
关注(0)|答案(1)|浏览(126)

我正在使用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))

有人能帮我弄明白吗?

sdnqo3pr

sdnqo3pr1#

这看起来像是你在你的代码中的某个地方重塑了X_train或X_test,而你还没有共享。两个都仔细检查。

相关问题