torch.transpose

torch.transpose(input, dim0, dim1) Tensor

返回input张量的转置版本,交换维度dim0dim1

如果 input 是一个 strided 张量,那么生成的 out 张量将与其底层存储共享。因此,修改其中一个张量的内容会同时改变另一个张量的内容。

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

本页目录