我的numpy数组X_train
中有4554张图像,其形状如下。
print(np.shape(X_train))
(4554,) # TOtal numbe of images
X_train[0].shape
(120, 120, 4) # Each image is 120x120 with 4 channels.
现在,我想将数组重塑为(4554, 120, 120, 4)
,以便在打印时
print(np.shape(X_train)
它的形状为(4554, 120, 120, 4)
,而不是(4554,)
。
我尝试了以下重塑方法,但它给了我错误。
X_train=X_train.reshape((X_train.shape[0],X_train[0].shape))
错误:TypeError:“元组”对象不能解释为整数
答案 0 :(得分:2)
您正在寻找numpy.stack()方法。
如果您有3D矩阵的列表,则可以像这样制作4D矩阵:
numpy.stack(your_list_of_training_data, axis=0)
有关说明,请参见此处的文档:https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.stack.html