評價此頁

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