评价此页

torch.transpose#

torch.transpose(input, dim0, dim1) Tensor#

返回一个张量,它是 input 的转置版本。给定的维度 dim0dim1 将被交换。

如果 input 是一个跨步张量,那么结果 out 张量将与 input 张量共享其底层存储,因此更改其中一个的内容会更改另一个的内容。

如果 input 是一个稀疏张量,那么结果 out 张量input 张量共享底层存储。

如果 input 是一个具有压缩布局(SparseCSR、SparseBSR、SparseCSC 或 SparseBSC)的稀疏张量,则参数 dim0dim1 必须是批次维度,或者必须是稀疏维度。稀疏张量的批次维度是位于稀疏维度之前的维度。

注意

转置 SparseCSRSparseCSC 布局张量的稀疏维度,将导致布局在两者之间切换。转置 ` SparseBSR` 或 SparseBSC 布局张量的稀疏维度,同样会生成一个具有相反布局的结果。

参数
  • input (Tensor) – 输入张量。

  • dim0 (int) – 第一个要转置的维度

  • dim1 (int) – 第二个要转置的维度

示例

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