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维的值进行交换。
网友评论