繁体   English   中英

炬管旋转方向.rot90

[英]Direction of rotation of torch.rot90

在torch.rot90 的文档中指出

如果 k > 0,旋转方向是从第一个轴到第二个轴,如果 k < 0,从第二个轴到第一个轴。

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

在此处输入图片说明

对我来说,在推理高度和宽度时,这些旋转更有意义。 如果您将axis=0视为高度尺寸,将axis=1视为宽度尺寸。 然后:

取一个简单的输入矩阵x

>>> x
tensor([[0, 1],
        [2, 3]])
  • k > 0 : axis=0朝向axis=1 ,对应“高度朝向宽度”,即逆时针方向。

     >>> x.rot90(k=1) tensor([[2, 0], [3, 1]])
  • k < 0 : axis=1朝向axis=0 ,这次是“宽度朝向高度,顺时针旋转。

     >>> x.rot90(k=-1) tensor([[1, 3], [0, 2]])

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

---------> axis=1
|
|
|
\/
axis=0

现在,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]])

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

例如

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

意思

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM