почему Tensorflow transpose не удался в определенном сценарии?

#python #tensorflow

#python #tensorflow

Вопрос:

 tf.reset_default_graph()

sess=tf.Session()

X=tf.placeholder(tf.float32, shape=[3,8])

X_1 = tf.reshape(X,[3,2,4])

print(X_1)

X_tensor = tf.transpose(X_1,[1,2,0])

print(X_tensor)
  

вывод:

 Tensor("Reshape:0", shape=(3, 2, 4), dtype=float32)

Tensor("transpose:0", shape=(2, 4, 3), dtype=float32)
  

Результат транспонирования должен быть (4,3,2) .

Ответ №1:

Вы переходите perm=[1,2,0] в tf.transpose , вот почему вы получаете (2, 4, 3) форму из (3, 2, 4) . (смотрите: https://www.tensorflow.org/api_docs/python/tf/transpose )

Попробуйте X_tensor = tf.transpose(X_1,[2,0,1]) получить желаемый результат.