我有一个形状(10,256,256)的图像,我必须在开头添加一个维度,表示图像的通道数(在我的情况下为3),我应该怎么做?
ValueError:.fit()
的输入应该是等级4.得到形状的数组:(10,256,256)
我也试过这个:
X_train = numpy.array(X_train)
X_train = numpy.reshape(X_train, (1, len(X_train), targ_size[0], targ_size[1]))
datagen_train.fit(X_train)
答案 0 :(得分:2)
有几种方法可以增加数组的维度:
X_new1 = X_train[np.newaxis]
X_new2 = X_train[None]
X_new3 = X_train.reshape((1,)+X_train.shape)
X_new4 = np.expand_dims(X_train,0)
X_new1, X_new2, X_new3
和X_new4
都是等效的
此外,X_new1
和X_new2
甚至“更相同”,因为使用相同的想法。即np.newaxis
相当于None
。
同样适用于方法3和4,方法4内部调用方法3