Xception input_shape通道

时间:2018-07-24 09:13:40

标签: python tensorflow keras

我是Keras的新手。

我正在研究Keras Xception模型(版本2.2.0),我已经成功地使用RGB图像进行了训练。

我的资源有限,因此已将图像转换为灰度图像以减小数据大小(我不确定这是否是正确的直觉)。我当前的数据集由灰度图像组成,正如我研究keras预训练模型所期望的3通道输入一样。我尝试了下面的代码来生成图像数据:

train_generator = train_datagen.flow_from_directory(
train_folder,
target_size=(img_width, img_height),
color_mode='grayscale',
batch_size=batch_size,
shuffle=True,
seed=seed)

,然后按如下所示构建模型:

model = xception.Xception(include_top=False, input_shape=(img_width, img_height, 1))

但是我得到了错误:

  

ValueError:输入必须具有3个通道;必须为0。得到了input_shape=(257, 321, 1)

我已经检查了数据生成器功能中的 color_mode ,但没有找到任何解决方案。 如果有人可以帮助您解决问题,将不胜感激!

1 个答案:

答案 0 :(得分:0)

根据Keras documentation中的规定:

  

input_shape:可选的形状元组,仅当include_top为False时才指定(否则,输入形状必须为(299,299,3)。它应该具有3个输入通道,宽度和高度不小于71.例如(150,150,3)将是一个有效值。

您将无法为该模型提供灰度图像。如果存在内存问题,则可以尝试减小图像的宽度和高度,或者使用较小的批处理大小进行训练和推理。