transpose

paddle. transpose ( x, perm, name=None ) [源代码]

该OP根据perm对输入的多维Tensor进行数据重排。返回多维Tensor的第i维对应输入Tensor的perm[i]维。

参数:

  • x (Tensor) - 输入:x:[N_1, N_2, …, N_k, D]多维Tensor,可选的数据类型为float16, float32, float64, int32, int64。

  • perm (list|tuple) - perm长度必须和X的维度相同,并依照perm中数据进行重排。

  • name (str) - 该层名称(可选)。

返回: 多维Tensor

返回类型:Tensor

示例:

  1. x = [[[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]]
  2. [[13 14 15 16] [17 18 19 20] [21 22 23 24]]]
  3. shape(x) = [2,3,4]
  4. # 例0
  5. perm0 = [1,0,2]
  6. y_perm0 = [[[ 1 2 3 4] [13 14 15 16]]
  7. [[ 5 6 7 8] [17 18 19 20]]
  8. [[ 9 10 11 12] [21 22 23 24]]]
  9. shape(y_perm0) = [3,2,4]
  10. # 例1
  11. perm1 = [2,1,0]
  12. y_perm1 = [[[ 1 13] [ 5 17] [ 9 21]]
  13. [[ 2 14] [ 6 18] [10 22]]
  14. [[ 3 15] [ 7 19] [11 23]]
  15. [[ 4 16] [ 8 20] [12 24]]]
  16. shape(y_perm1) = [4,3,2]

代码示例:

  1. import paddle
  2. x = paddle.randn([2, 3, 4])
  3. x_transposed = paddle.transpose(x, perm=[1, 0, 2])
  4. print(x_transposed.shape)
  5. # [3L, 2L, 4L]

使用本API的教程文档