tf.transpose()

import numpy as np
import tensorflow as tf

# x = np.array([[[1,2,3],
# [4,5,6]],
# [[7,8,9],
# [10,11,12]]])
#
# print(x.shape)

x = np.array([[1,4],
              [2,5],
              [3,6]])

y = tf.transpose(x,[1,0])

sess = tf.InteractiveSession()

print(sess.run(x))
print(sess.run(y))

>>>   [[1 2 3]
       [4 5 6]]

因为x是一个二维矩阵,
所以在tf.transpose里的第二个参数初始状态应该是[0,1]
那么[1,0]表示的就是第二维和第一维的数进行交换。


倘若:

import numpy as np
import tensorflow as tf

x = np.array([[[1,2,3],
               [4,5,6]],
              [[7,8,9],
               [10,11,12]]])

y = tf.transpose(x,[2,1,0])
x = tf.transpose(x)

sess = tf.InteractiveSession()

print(sess.run(x))
print('\n\n')
print(sess.run(y))

>>>   [[[ 1 7]
        [ 4 10]]
       [[ 2 8]
        [ 5 11]]
       [[ 3 9]
        [ 6 12]]]

      [[[ 1 7]
        [ 4 10]]
       [[ 2 8]
        [ 5 11]]
       [[ 3 9]
        [ 6 12]]]

表示的就是将第3维和第1维的值进行交换。

你可能感兴趣的:(tf.transpose())