評價此頁

torch.movedim#

torch.movedim(input, source, destination) Tensor#

input 中位於 source 位置的維度移動到 destination 位置。

input 中未顯式移動的其他維度將保持其原始順序,並出現在 destination 中未指定的那些位置。

引數
  • input (Tensor) – 輸入張量。

  • source (inttuple of ints) – 要移動的維度的原始位置。這些必須是唯一的。

  • destination (inttuple of ints) – 每個原始維度的目標位置。這些也必須是唯一的。

示例

>>> t = torch.randn(3,2,1)
>>> t
tensor([[[-0.3362],
        [-0.8437]],

        [[-0.9627],
        [ 0.1727]],

        [[ 0.5173],
        [-0.1398]]])
>>> torch.movedim(t, 1, 0).shape
torch.Size([2, 3, 1])
>>> torch.movedim(t, 1, 0)
tensor([[[-0.3362],
        [-0.9627],
        [ 0.5173]],

        [[-0.8437],
        [ 0.1727],
        [-0.1398]]])
>>> torch.movedim(t, (1, 2), (0, 1)).shape
torch.Size([2, 1, 3])
>>> torch.movedim(t, (1, 2), (0, 1))
tensor([[[-0.3362, -0.9627,  0.5173]],

        [[-0.8437,  0.1727, -0.1398]]])