繁体   English   中英

Python:如何将3D图像(np阵列)重塑为1D,然后正确地重塑为3D?

[英]Python: How can I reshape 3D Images (np array) to 1D and then reshape them back correctly to 3D?

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

这是正确的方法吗? 如何确定每个基准都将返回正确的位置?

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

如果M(32 x 32 x 3) ,则.reshape(1,-1)将产生形状为(1, 32*32*3) .reshape(1,-1) (1, 32*32*3)的2d数组(而非1d (1, 32*32*3) 可以使用相同的reshape语句将其重塑回(32,32,3)。

但这正在改变往返的输入。但是您还没有告诉我们网络的输出是什么样的。 它有什么形状? 您如何尝试重塑输出,这有什么问题?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM