torch.transpose¶
- torch.transpose(input, dim0, dim1) Tensor ¶
返回 input 的转置版本张量。给定的维度
dim0
和dim1
被交换。如果
input
是跨步张量 (strided tensor),则生成的out
张量与其底层的存储共享内存,因此改变其中一个的内容会改变另一个的内容。如果
input
是稀疏张量 (sparse tensor),则生成的out
张量 *不* 与input
张量共享底层的存储。如果
input
是具有压缩布局(SparseCSR, SparseBSR, SparseCSC 或 SparseBSC)的稀疏张量 (sparse tensor),则参数dim0
和dim1
必须要么都是批处理维度 (batch dimensions),要么都是稀疏维度 (sparse dimensions)。稀疏张量的批处理维度是稀疏维度之前的维度。注意
互换 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()
。