今天使用tensorflow遇到一个函数 tf.transpose(X,perm = [0,2,1]),这个函数就是将tensor的对应的维数进行置换,这里发现几点,
1.tensorflow 里面的 tensor是先从高维向低维算起的
比如:’x’ is [[[1 2 3]
[4 5 6]]
[[7 8 9]
[10 11 12]]]
x的维数就是[2,2,3]
而perm的意思就是将tensor对应的不同的维数之间变换
比如perm = [2,1,0],则原tensor = [3, 2,2],全部倒过来
perm = [0,2,1],则原tensor = [2,3,2], 后两维置换
tf.transpose(x, perm=[0, 2, 1]) ==>
[[[1 4]
[2 5]
[3 6]]
[[7 10]
[8 11]
[9 12]]]
我之前错误的认为置换后的结果是:
[[[1 3 2]
[4 6 5]]
[[7 9 8]
[10 12 11]]]
参考资料:
http://www.th7.cn/Program/Python/201604/841498.shtml