Fonction torch.rot90 de PyTorch
Manuel de référence Pytorch torch
torch.rot90Il s'agit d'une fonction de PyTorch utilisée pour faire pivoter les tenseurs de 90 degrés.
Définition de fonction
torch.rot90(input, k=1, dims=[0, 1])
Description des paramètres :
input- Tenseur d'entréek- Nombre de rotations, une valeur positive signifie dans le sens antihoraire, une valeur négative signifie dans le sens horaire (par défaut 1)dims- Dimensions du plan de rotation (par défaut [0, 1])
Exemples d'utilisation
Exemple
import torch
# Rotation d'un tenseur 2D
x = torch.arange(12).reshape(3, 4)
print("Tenseur d'origine :")
print(x)
result = torch.rot90(x, 1)
print("Rotation de 90 degrés dans le sens antihoraire :")
print(result)
result = torch.rot90(x, -1)
print("nRotation de 90 degrés dans le sens horaire :")
print(result)
result = torch.rot90(x, 2)
print("nRotation de 180 degrés :")
print(result)
# Effectuer une rotation selon un plan spécifié (tenseur 3D)
y = torch.arange(24).reshape(2, 3, 4)
print("nForme du tenseur 3D :", y.shape)
result = torch.rot90(y, 1, dims=[1, 2])
print("Forme après une rotation de 90 degrés selon le plan [1, 2] :", result.shape)
# Rotation d'un tenseur 2D
x = torch.arange(12).reshape(3, 4)
print("Tenseur d'origine :")
print(x)
result = torch.rot90(x, 1)
print("Rotation de 90 degrés dans le sens antihoraire :")
print(result)
result = torch.rot90(x, -1)
print("nRotation de 90 degrés dans le sens horaire :")
print(result)
result = torch.rot90(x, 2)
print("nRotation de 180 degrés :")
print(result)
# Effectuer une rotation selon un plan spécifié (tenseur 3D)
y = torch.arange(24).reshape(2, 3, 4)
print("nForme du tenseur 3D :", y.shape)
result = torch.rot90(y, 1, dims=[1, 2])
print("Forme après une rotation de 90 degrés selon le plan [1, 2] :", result.shape)
Le résultat de sortie est:
原始张量:
tensor([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
逆时针旋转 90 度:
tensor([[ 3, 7, 11],
[ 2, 6, 10],
[ 1, 5, 9],
[ 0, 4, 8]])
顺时针旋转 90 度:
tensor([[ 8, 4, 0],
[ 9, 5, 1],
[10, 6, 2],
[11, 7, 3]])
旋转 180 度:
tensor([[11, 10, 9, 8],
[ 7, 6, 5, 4],
[ 3, 2, 1, 0]])
三维张量形状: torch.Size([2, 3, 4])
沿 [1, 2] 平面旋转 90 度后形状: torch.Size([2, 4, 3])
Autres extensions