[英]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.