torch.transpose¶
- torch.transpose(input, dim0, dim1) Tensor ¶
傳回一個 tensor,它是
input
的轉置版本。給定的維度dim0
和dim1
會被交換。如果
input
是一個 strided tensor,那麼產生的out
tensor 會與input
tensor 共享其底層儲存空間,因此變更其中一個的內容會變更另一個的內容。如果
input
是一個 sparse tensor,那麼產生的out
tensor *不會* 與input
tensor 共享底層儲存空間。如果
input
是一個具有壓縮佈局(SparseCSR、SparseBSR、SparseCSC 或 SparseBSC)的稀疏張量,則參數dim0
和dim1
必須都是批次維度,或者必須都是稀疏維度。 稀疏張量的批次維度是指位於稀疏維度之前的維度。注意
轉置會交換 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()
。