首页 > 解决方案 > 如何重塑包含图像数据的数组

问题描述

我的 numpy 数组中有 4554 张图像,数组X_train的形状如下。

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:“元组”对象不能解释为整数

标签: pythonimagemachine-learningdeep-learningconv-neural-network

解决方案


您正在寻找 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


推荐阅读