torch.transpose
- torch.transpose(input, dim0, dim1) → Tensor
-
返回
input
张量的转置版本,交换维度dim0
和dim1
。如果
input
是一个 strided 张量,那么生成的out
张量将与其底层存储共享。因此,修改其中一个张量的内容会同时改变另一个张量的内容。如果
input
是一个稀疏张量,那么生成的out
张量不会与input
张量共享底层存储。如果
input
是一个稀疏张量,并且其布局为压缩格式(SparseCSR、SparseBSR、SparseCSC 或 SparseBSC),则参数dim0
和dim1
必须都是批次维度或都必须是稀疏维度。在稀疏张量中,批次维度位于稀疏维度之前。注意
交换SparseCSR或SparseCSC布局张量的稀疏维度会导致布局在这两种选项之间切换。同样,对`SparseBSR`或SparseBSC布局张量的稀疏维度进行转置也会生成具有相反布局的结果。
示例:
>>> x = torch.randn(2, 3) >>> x tensor([[ 1.0028, -0.9893, 0.5809], [-0.1669, 0.7299, 0.4942]]) >>> torch.transpose(x, 0, 1) tensor([[ 1.0028, -0.1669], [-0.9893, 0.7299], [ 0.5809, 0.4942]])
参见
torch.t()
。