pytorch自定义反向传播 pytorch 旋转_PyTorch

整理记录一下PyTorch中旋转函数rot90的使用方法。

参考目录:
PyTorch官方用法


torch.rot90

  • 1 使用背景
  • 2 函数简介
  • 3 实战效果
  • 3.1 顺时针旋转90°
  • 3.2 逆时针旋转90°
  • 3.3 逆时针旋转180°
  • 3.4 逆时针旋转前2个维度


1 使用背景

对于一个pytorch自定义反向传播 pytorch 旋转_深度学习_02维张量,如果想要对某2个维度进行旋转,可以调用torch.rot90()函数。

2 函数简介

调用格式:

torch.rot90(Tensor, k, dim)

Note:

  1. 第一个形参Tensor是你准备进行旋转的张量,可以是任意维度。
  2. 第二个形参k是你需要旋转多少个90°。当pytorch自定义反向传播 pytorch 旋转_函数用法_03时候,是逆时针旋转;反之就是顺时针旋转。k是个int型对象。
  3. 第三个形参dim是需要旋转的维度,也就是旋转哪些维度下的张量。其可以是个list或者tuple

3 实战效果

输入Tensor:输入一个四维张量,模拟图片格式:batch为1、通道数为2、图像大小为pytorch自定义反向传播 pytorch 旋转_深度学习_04

x = torch.arange(18).view(1, 2, 3, 3)

pytorch自定义反向传播 pytorch 旋转_深度学习_05

3.1 顺时针旋转90°

y = torch.rot90(x, k=-1, dims=[2, 3])

pytorch自定义反向传播 pytorch 旋转_PyTorch_06

3.2 逆时针旋转90°

y = torch.rot90(x, k=1, dims=[2, 3])

pytorch自定义反向传播 pytorch 旋转_PyTorch_07

3.3 逆时针旋转180°

y = torch.rot90(x, k=2, dims=[2, 3])

pytorch自定义反向传播 pytorch 旋转_pytorch自定义反向传播_08

3.4 逆时针旋转前2个维度

y = torch.rot90(x, k=1, dims=[0, 1])

pytorch自定义反向传播 pytorch 旋转_顺时针_09