为什么Tensorflow转置在某些情况下失败?

时间:2019-03-19 00:28:51

标签: 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 个答案:

答案 0 :(得分:0)

您将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])以获得所需的结果。

相关问题