割炬旋转方向.rot90

tan*_*lin 3 python rotation torch pytorch

在 torch.rot90 的文档中指出

如果 k > 0,旋转方向为从第一轴朝向第二轴;如果 k < 0,则旋转方向为从第二轴朝向第一轴。

但是假设我们从0轴旋转到1轴,0轴旋转到1轴是顺时针方向还是逆时针方向?(因为它们都是 90 度旋转,如下图所示)

在此输入图像描述

kHa*_*hit 5

axis=0是指向下方的维度,而axis=1指向右侧的维度。像这样可视化轴:

---------> axis=1
|
|
|
\/
axis=0
Run Code Online (Sandbox Code Playgroud)

现在,k>0表示逆时针方向,k<0表示顺时针方向。

因此,

>>> x = torch.arange(6).view(3, 2)
>>> x
tensor([[0, 1],
        [2, 3],
        [4, 5]])

>>> torch.rot90(x, 1, [0,1])
tensor([[1, 3, 5],
        [0, 2, 4]])

>>> torch.rot90(x, 1, [1,0])
tensor([[4, 2, 0],
        [5, 3, 1]])

Run Code Online (Sandbox Code Playgroud)

类似于torch.rot90()numpy.rot90()

例如

numpy.rot90(m, k=3, axes=(0, 1))

将以图形方式表示如下图所示:

在此输入图像描述