【发布时间】:2017-07-26 08:05:05
【问题描述】:
我有一个名为 X_train 的 NP 数组,具有以下属性:
X_train.shape = (139,)
X_train[0].shape = (210, 224, 3)
X_train[1].shape = (220,180, 3)
换句话说,有 139 个观测值。每个图像都有不同的宽度和高度,但它们都有 3 个通道。所以维度应该是(139, None, None, 3) 其中无 = 变量。
由于您不包括层中观察次数的维度,因此对于 Conv2D 层,我使用了input_shape=(None,None,3)。但这给了我错误:
预计 conv2d_1_input 有 4 个维度,但得到的数组具有形状 (139, 1)
我的猜测是问题在于输入形状是(139,) 而不是(139, None, None, 3)。但是,我不确定如何转换为。
【问题讨论】:
-
这就是问题所在,我认为您需要一次训练一个输入/目标(批量大小为 1),否则您将无法创建尺寸一致的数组
-
为什么不用零填充图像,使它们都具有相似的大小?
-
@WilmarvanOmmeren 好主意 - 有这样做的功能吗?
-
有,让我写下来
-
X_train的形状怎么可能是(139, 1)而X_train[0].shape = (210, 224, 3)?
标签: python machine-learning tensorflow neural-network keras