最近在写一个代码,主要是用tensorflow导入一个mat格式的数据(shape为2016*64*38,图片表示为2016维的向量),结果发现用tensorflow的reshape函数将图片向量转化为48*42的图片矩阵时,转化结果不对。同样的操作在matlab转化结果却是正常的。
原因为matlab中的reshape函数按照列优先顺序来处理,而tensorflow按照行优先顺序来处理。
例如有一个9个元素的数组[1, 2, 3, 4, 5, 6, 7, 8, 9]
matlab的reshape结果为
[[1,4,7]
[2,5,8]
[3,6,9]]
tensorflow的reshape结果为
[[1,2.3]
[4,5,6]
[7,8,9]]