我有一个NP阵列称为X_train具有以下属性的使用Keras Conv2D层:如何使用可变形输入
X_train.shape = (139,)
X_train[0].shape = (210, 224, 3)
X_train[1].shape = (220,180, 3)
换句话说,有139个观测。每张图片都有不同的宽度和高度,但都有3个通道。所以维度应该是(139, None, None, 3)
其中None =变量。
由于您没有在图层中包含观察值数量的维数,因此我使用的Conv2D图层使用了input_shape=(None,None,3)
。但是,这给我的错误:
expected conv2d_1_input to have 4 dimensions, but got array with shape (139, 1)
我的猜测是,这个问题是输入形状(139,)
,而不是(139, None, None, 3)
。但是我不确定如何转换到那个。
这就是问题所在,我想你会需要一个输入/培训目标在同一时间(批次大小为1),否则您将无法创建具有一致尺寸的阵列 – gionni
为什么不用零填充图像以使它们都具有相似的尺寸? –
@WilmarvanOmmeren好主意 - 有没有这样的功能? – megashigger