我有一个未知形状的张量,但它至少是三维的,即shape=[a, b, c, ...]
。
我想交换维度a
和b
,但不知道张量的长度(所以我不能使用tf.transpose,如这个问题中建议的那样)
我有一个未知形状的张量,但它至少是三维的,即shape=[a, b, c, ...]
。
我想交换维度a
和b
,但不知道张量的长度(所以我不能使用tf.transpose,如这个问题中建议的那样)
这个方法可以实现功能,但不够美观:
tf.transpose(x, [1, 0] + [i+2 for i in range(tf.shape(x).shape[0]-2)])
tf.rank()
代替 tf.shape()
:tf.transpose(x, tf.concat([[1,0], tf.range(2, tf.rank(x))], 0)
。 - Manolo Santos