Función torch.rot90 de PyTorch
Manual de referencia de Pytorch torch
torch.rot90Es una función de PyTorch que se utiliza para rotar un tensor 90 grados.
Definición de la función
torch.rot90(input, k=1, dims=[0, 1])
Descripción de parámetros:
input- Tensor de entradak- Número de rotaciones, positivo indica sentido antihorario, negativo indica sentido horario (por defecto 1)dims- Dimensiones del plano en el que se rota (por defecto [0, 1])
Ejemplo de uso
Ejemplo
import torch
# Rotación de un tensor bidimensional
x = torch.arange(12).reshape(3, 4)
print("Tensor original:")
print(x)
result = torch.rot90(x, 1)
print("Rotar 90 grados en sentido antihorario:")
print(result)
result = torch.rot90(x, -1)
print("nRotar 90 grados en sentido horario:")
print(result)
result = torch.rot90(x, 2)
print("nRotar 180 grados:")
print(result)
# Rotar a lo largo de un plano especificado (tensor tridimensional)
y = torch.arange(24).reshape(2, 3, 4)
print("nForma del tensor tridimensional:", y.shape)
result = torch.rot90(y, 1, dims=[1, 2])
print("Forma después de rotar 90 grados a lo largo del plano [1, 2]:", result.shape)
# Rotación de un tensor bidimensional
x = torch.arange(12).reshape(3, 4)
print("Tensor original:")
print(x)
result = torch.rot90(x, 1)
print("Rotar 90 grados en sentido antihorario:")
print(result)
result = torch.rot90(x, -1)
print("nRotar 90 grados en sentido horario:")
print(result)
result = torch.rot90(x, 2)
print("nRotar 180 grados:")
print(result)
# Rotar a lo largo de un plano especificado (tensor tridimensional)
y = torch.arange(24).reshape(2, 3, 4)
print("nForma del tensor tridimensional:", y.shape)
result = torch.rot90(y, 1, dims=[1, 2])
print("Forma después de rotar 90 grados a lo largo del plano [1, 2]:", result.shape)
El resultado de salida es:
原始张量:
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])
Otras extensiones