gpt4 book ai didi

numpy - 将 2D reshape 为 4D 阵列

转载 作者:行者123 更新时间:2023-12-04 11:31:22 25 4
gpt4 key购买 nike

你好关于重塑数组的问题。

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

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

784是我的神经网络的输入。

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

我使用以下命令:

train_x = np.reshape(train_x, (103, 28, 28, 1))

在这种情况下,103 仍然是训练样本的数量,并且在这种情况下,我的输入 784 被分成 28x28 的矩阵,这是否正确?在这种情况下,1 是我的 channel ,不使用 RGB(否则 channel 应为 3)。

如果我的假设不正确,请有人建议如何将 2D 重塑为 4D 以存档上述内容? tnx

最佳答案

你的假设是正确的。 NumPy 文档关于 reshape状态:

You can think of reshaping as first raveling the array (using the given index order), then inserting the elements from the raveled array into the new array using the same kind of index ordering as was used for the raveling.


train_x with 形状 (103, 784) 将分解为:
[img_0[0], ..., img_0[783], img_1[0], ..., img_1[783], ..., img_102[0], img_102[783]]
然后按照预期使用问题中的 reshape 命令将其重新整形为 28x28x1 的 103 张图像。

您应该确保平铺的 784 值已按照您用来展开它们的相同顺序展开,行优先或列优先。如果您不确定,一个快速的健全性检查将是在重塑后绘制其中一个图像。

关于numpy - 将 2D reshape 为 4D 阵列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52641015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com