Numpy 将二维阵列重塑为4D阵列

Numpy 将二维阵列重塑为4D阵列,numpy,ipython,conv-neural-network,Numpy,Ipython,Conv Neural Network,您好,关于重塑阵列的问题 我有一个数组train_x(2D),其内容是(103784) 在这种情况下,103是示例的数量 784是我的神经网络的输入 现在我想从2D重塑为4D 我使用以下命令: train_x = np.reshape(train_x, (103, 28, 28, 1)) 在这种情况下,103仍然是训练示例的数量,并且在这种情况下,我的输入784被划分为28x28的矩阵,这是否正确?1在本例中为我的频道,不使用RGB(否则该频道应为3) 如果我的假设不正确,请有人建议如何从2D

您好,关于重塑阵列的问题

我有一个数组train_x(2D),其内容是(103784)

在这种情况下,103是示例的数量

784是我的神经网络的输入

现在我想从2D重塑为4D

我使用以下命令:

train_x = np.reshape(train_x, (103, 28, 28, 1))
在这种情况下,103仍然是训练示例的数量,并且在这种情况下,我的输入784被划分为28x28的矩阵,这是否正确?1在本例中为我的频道,不使用RGB(否则该频道应为3)


如果我的假设不正确,请有人建议如何从2D重塑为4D以归档上述内容?你的假设是正确的。NumPy文件关于州:

您可以将重塑视为首先散开数组(使用给定的索引顺序),然后使用与散开相同的索引顺序将散开数组中的元素插入新数组

train_x
形状为(103784)的列车将行驶至:

[img_0[0],…,img_0[783],img_1[0],…,img_1[783],…,img_102[0],img_102[783]

然后使用问题中的“重塑”命令将其重塑为103个28x28x1图像,如预期的那样


您应该确保平面784值已按用于分解它们的相同顺序展开,行主视图或列主视图。如果您不确定,一个快速的健全性检查是在重塑后绘制一个图像。

或者,您可以使用以下方法

train_X = X_train.reshape(X_train.shape[0],28,28,1)

假设X-train的形状为(103784)

用一个较小的例子测试,例如
np.arange(12).重塑(3,4).重塑(3,2,2,1)