返回一个原始张量交换后的视图¶
torch.permute(input, dims) → Tensor permute()
返回的是原张量的视图(view),与原张量共享内存。
transpose(dim0, dim1) 只能交换两个维度,而 permute() 可以处理多个维度。
执行 transpose() 后,张量可能变为非连续的,需要调用 contiguous() 才能使用 view()。
In [8]:
import torch
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"x = torch.randint(0,10,[2,3])
x
x.permute([1,0])
Out[8]:
tensor([[5, 3, 0],[5, 1, 5]])
Out[8]:
tensor([[5, 5],[3, 1],[0, 5]])