整理记录一下PyTorch中旋转函数rot90的使用方法。
参考目录:
①PyTorch官方用法
1 使用背景
对于一个
n
n
n维张量,如果想要对某2个维度进行旋转,可以调用torch.rot90()
函数。
2 函数简介
调用格式:
torch.rot90(Tensor, k, dim)
Note:
- 第一个形参Tensor是你准备进行旋转的张量,可以是任意维度。
- 第二个形参k是你需要旋转多少个90°。当 k > 0 k>0 k>0时候,是逆时针旋转;反之就是顺时针旋转。k是个int型对象。
- 第三个形参dim是需要旋转的维度,也就是旋转哪些维度下的张量。其可以是个
list
或者tuple
。
3 实战效果
输入Tensor:输入一个四维张量,模拟图片格式:batch为1、通道数为2、图像大小为 3 × 3 3\times 3 3×3:
x = torch.arange(18).view(1, 2, 3, 3)
3.1 顺时针旋转90°
y = torch.rot90(x, k=-1, dims=[2, 3])
3.2 逆时针旋转90°
y = torch.rot90(x, k=1, dims=[2, 3])
3.3 逆时针旋转180°
y = torch.rot90(x, k=2, dims=[2, 3])
3.4 逆时针旋转前2个维度
y = torch.rot90(x, k=1, dims=[0, 1])