我的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:'tuple'对象不能解释为整数
1 回答
你正在寻找numpy.stack()方法 .
如果你有一个3d矩阵列表,你可以像这样制作一个4d矩阵:
请参阅此处的文档以获取解释:https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.stack.html