torch.transpose#
- torch.transpose(input, dim0, dim1) Tensor #
返回一个转置版的
input
张量。给定维度dim0
和dim1
会被交换。如果
input
是一个带步长张量,则结果out
张量与其底层存储共享input
张量,因此改变其中一个的内容会改变另一个的内容。如果
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()
。