Python:如何将 3D 图像(np 数组) reshape 为 1D,然后将它们正确地 reshape 为 3D?

标签 python arrays numpy image-processing tensorflow

我将 RGB 图像(32 x 32 x 3)保存为 3D numpy 数组,我将其用作神经网络的输入(使用 tensorflow)。为了将它们用作输入,我使用 reshape(1,-1) 将它们 reshape 为一维 np 数组 (1 x 3072)。当我完成训练我的网络时,我想重新调整输出,但使用 reshape(32,32,3) 似乎没有提供所需的结果。

这是正确的方法吗?我如何确定每个数据都会回到正确的位置?

最佳答案

如果您要创建一维数组,请使用 .reshape(-1),这将创建数组的线性版本。如果您使用 .reshape(32,32,3),这将创建一个由 32 个 32×3 数组组成的数组,这是所描述的原始格式。使用“-1”创建一个与组合嵌套数组中元素数量相同大小的线性数组。

关于Python:如何将 3D 图像(np 数组) reshape 为 1D,然后将它们正确地 reshape 为 3D?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44009244/

相关文章:

python - 如何获取wxPython中CreateButtonSizer(或CreateSeparatedButtonSizer)创建的按钮对象

Python dateutil.parser 抛出 "ValueError: day is out of range for month"

python - 如何使用python以相同的顺序再次合并两个分离的数据帧

python - numpy.fft numpy.fft2 和 FFTW 用于二维数组

javascript - 如何编辑此代码以使其使用当前元素?

python - 获取 2D numpy ndarray 或 numpy 矩阵中前 N 个值的索引

python - Twisted 和 libtorrent——我需要担心阻塞吗?

python - 使用python来挑选图像中物体上不同部分的形态

Javascript:导出带有引用函数的对象的数组

ios - 如何仅在数组已填充后才对数组进行排序