评价此页

torch.transpose#

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

返回一个转置版的 input 张量。给定维度 dim0dim1 会被交换。

如果 input 是一个带步长张量,则结果 out 张量与其底层存储共享 input 张量,因此改变其中一个的内容会改变另一个的内容。

如果 input 是一个 稀疏张量,则结果 out 张量**不**与 input 张量共享底层存储。

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

注意

交换 SparseCSRSparseCSC 布局张量的稀疏维度的转置将导致布局在这两种选项之间更改。同样,SparseBSRSparseBSC 布局张量的稀疏维度转置将生成具有相反布局的结果。

参数
  • 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()