检查输入时出错:预期conv2d_1_input具有形状(50,50,1),但数组形状为(50,50,3)

时间:2019-10-09 09:24:09

标签: python keras

let refreshControl:UIRefreshControl = UIRefreshControl.init()

if #available(iOS 10.0, *) {
   tableView.refreshControl = refreshControl
} else {
   tableView.addSubview(refreshControl)
}

这是我制作的简单的cnn架构。我使用的图像是灰度。

如果我将通道值指定为以粗体指定的1 classifier.add(Convolution2D(32,kernel_size = 3,input_shape =(50,50, 1 ),activation ='relu'))

我收到错误消息

检查输入时出错:预期conv2d_1_input的形状为(50,50,1),但数组的形状为(50,50,3)

但是,如果我将滤镜大小设为3,则不会出现任何错误,但是使用3通道处理灰度图像可能是逻辑错误...请对此进行澄清

1 个答案:

答案 0 :(得分:0)

flow_from_directory采用color_mode参数,该参数指定所加载图像的通道数。如果要使用灰度图像,则需要指定它(默认为'rgb'):

train_datagen.flow_from_directory('/...',
                                  color_mode='grayscale', #<<<<<<<<<<<<<<<<<<<<<
                                  target_size = (50, 50),
                                  batch_size = 32,
                                  class_mode = 'binary')