最初のステップは、公式ドキュメントで置換の説明を与えることです:
https://pytorch.org/docs/stable/tensors.html?highlight=permute#torch.Tensor.permute
次のステップでは、公式文書を母国語で説明します。
順列とは、中国語で「順列と組み合わせ」を意味します。permute()は、テンソルの任意の次元を交換できます。
デモを見てみましょう:
import torch
a = torch.randn(2,3,5)
b = a.permute(1,2,0)
print(b.shape)
permuteのパラメーターはテンソルaの次元インデックスに対応することに注意してください。したがって、permuteの入力パラメーターの次元はaと一致している必要があり、0、1、2 ...、dimなどの値のみにすることができるため、aの次元には1つずつインデックスを付けることができます。
a.permute(1,2,0)は、aの最初の次元を最後に置くことを意味します。
結論として
同じテンソルの場合、要素の総数は固定されており、置換の役割はm×n×cをn×m×cやc×n×mなどの任意の組み合わせに変更することです。
2次元テンソルの場合、permute(1,0)が行うのは転置です。これはtranspose()と同等です。