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()。