tf.transpose(X,perm = [2,0,1])就是对数组维数进行转换,X[i][j][k]=Y[k][i][j]
import tensorflow as tf
import numpy as np
input_x = [
[
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]
],
[
[13, 14, 15, 16],
[17, 18, 19, 20],
[21, 22, 23, 24]
]
]
print ("input_x shape:",np.shape(input_x))
result = tf.transpose(input_x, perm=[2, 0, 1])
with tf.Session() as sess:
print("input_x",sess.run(result))
input_y=np.zeros((4,2,3),dtype=int)
for i in range(4):
for j in range(2):
for k in range(3):
input_y[i][j][k]=input_x[j][k][i]
print("input_y",input_y)
input_x shape: (2, 3, 4)
input_x [[[ 1 5 9]
[13 17 21]]
[[ 2 6 10]
[14 18 22]]
[[ 3 7 11]
[15 19 23]]
[[ 4 8 12]
[16 20 24]]]
input_y [[[ 1 5 9]
[13 17 21]]
[[ 2 6 10]
[14 18 22]]
[[ 3 7 11]
[15 19 23]]
[[ 4 8 12]
[16 20 24]]]