tf.transpose(a,perm)
功能:通过改变不同维度的顺序,从而改变输入张量的shape。
参数:a-输入张量;perm-指定维度顺序
代码实现:
import tensorflow as tf
import numpy as np
a1 = [[1,2,3],[4,5,6]]
b1 = tf.transpose(a1,perm=[1,0])
a2 = [[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12],[13,14,15],[16,17,18]]]
b2 = tf.transpose(a2,perm=[0,2,1])
a3 = [[[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12],[13,14,15],[16,17,18]]],[[[19,20,21],[22,23,24],[25,26,27]],[[28,29,30],[31,32,33],[34,35,36]]]]
b3 = tf.transpose(a3,perm=[0, 3, 1, 2])
with tf.Session() as sess:
print(sess.run(b1))
print(sess.run(b2))
print(sess.run(b3))
结果:
[[1 4]
[2 5]
[3 6]]
-------------
[[[ 1 4 7]
[ 2 5 8]
[ 3 6 9]]
[[10 13 16]
[11 14 17]
[12 15 18]]]
----------------
[[[[ 1 4 7]
[10 13 16]]
[[ 2 5 8]
[11 14 17]]
[[ 3 6 9]
[12 15 18]]]
[[[19 22 25]
[28 31 34]]
[[20 23 26]
[29 32 35]]
[[21 24 27]
[30 33 36]]]]