[英]what is the difference between two following reshape function in numpy?
[英]Difference of function of “reshape” in numpy and Keras
我的情况是使用FCN进行像素预测,我有7个类别,因此我输入图像512 * 512,然后提供512 * 512 * 7进行模型预测,我想根据(高度宽度渠道)以保存最终结果。
因为我最后使用通道,所以输入形状对我来说很有意义。但是Keras拆分出的输出形状的形式我相信是:
(channels*height *width).
我的尝试是使用“重塑”功能,它起作用了……这确实使我感到困惑,在我的实验中,当我使用重塑功能时,图像会被完全弄乱,在这种情况下,它确实可以正常工作好(在Keras中使用重塑功能)。
pr = m.predict( np.array([X]))[0]
#reshape to channel last and take the largest index in 7 predictions for each piexl
pr = pr.reshape(( output_height , output_width , n_classes ) ).argmax(axis=-1)
我所期望的工作方式应该是np moveaxis或numpy.rollaxis。 提前致谢!
默认情况下,Keras已经是channels_last
,因此您可能不执行任何重塑操作。
检查model.summary()
以查看形状。
您是正确的,如果您打算更改频道顺序,则重塑会弄乱图像。 因此,您将寻找一个Permute((3,1,2))
层以最后移至第一个或Permute((2,3,1)
层以移至最后一个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.