关于python keras 卷积CNN模型的问题

64,64,3的图像输入能正常运行的CNN模型的输入改成 128,128,3 或更高 需要对原有的CNN模型做什么更改?
还有如果输入126,256,3的图像要怎么改?
谢谢

    model = Sequential()

    model.add(Conv2D(128, (3,3), padding='same', input_shape=self.img_shape))
    model.add(LeakyReLU(alpha=0.2))
    model.add(BatchNormalization())
    model.add(Conv2D(128, (3,3), padding='same'))
    model.add(LeakyReLU(alpha=0.2))
    model.add(BatchNormalization())
    model.add(MaxPooling2D(pool_size=(3,3)))
    model.add(Dropout(0.2))

    model.add(Conv2D(128, (3,3), padding='same'))
    model.add(LeakyReLU(alpha=0.2))
    model.add(BatchNormalization())
    model.add(Conv2D(128, (3,3), padding='same'))
    model.add(LeakyReLU(alpha=0.2))
    model.add(BatchNormalization())
    model.add(MaxPooling2D(pool_size=(3,3)))
    model.add(Dropout(0.3))

    model.add(Flatten())
    model.add(Dense(128))
    model.add(LeakyReLU(alpha=0.2))
    model.add(Dense(128))
    model.add(LeakyReLU(alpha=0.2))
    model.add(Dense(1, activation='sigmoid'))
    
    model.summary()
    

你需要从第一层开始改起,第一层改了以后,根据第一层做的卷积和池化参数算出第一层的输出作为第二层的输入,再接着改。

感觉不是模型构建的问题,你试试改改第一层里面“input_shape”的shape值,我的输入是90*18的二维矩阵,第一层的输入是四个维度,(a,b,c,d) a代表二维矩阵总共数量(样本数量),b为90,c为18,d=1,之前没有这个d=1的时候,报的错和你写的类似。
希望对你有帮助。

当我输入了更大的图像的时候提示这个ValueError: Input 0 of layer dense_36 is incompatible with the layer: expected axis -1 of input shape to have value 100352 but received input with shape [None, 6272]

ValueError:输入0的层dense_36与层不兼容:输入形状的-1轴的预期值为100352,但接收到形状的输入[None, 6272]
看看模型数据是否有问题