在torch.rot90的文档中指出如果k > 0,则旋转方向是从第一轴朝向第二轴,并且对于k < 0,旋转方向是从第二轴朝向第一轴。然而,假设我们从轴0旋转到轴1,轴0是顺时针方向还是逆时针方向旋转到轴1?(因为它们都是90度旋转,如下图所示)
的数据
thtygnil1#
axis=0是向下的维度,而axis=1指向右侧。像这样可视化轴:
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=3, axes=(0, 1))个将按照下图以图形方式表示:
torch.rot90()
numpy.rot90()
numpy.rot90(m, k=3, axes=(0, 1))
z9zf31ra2#
对我来说,当考虑高度和宽度时,这些旋转更有意义。如果将axis=0视为高度尺寸,将axis=1视为宽度尺寸。然后:取一个简单的输入矩阵x:
x
>>> x tensor([[0, 1], [2, 3]])
字符串
k > 0
>>> x.rot90(k=1) tensor([[2, 0], [3, 1]])
型
k < 0
>>> x.rot90(k=-1) tensor([[1, 3], [0, 2]])
2条答案
按热度按时间thtygnil1#
axis=0
是向下的维度,而axis=1
指向右侧。像这样可视化轴:字符串
现在,k>0表示逆时针方向,k<0表示顺时针方向。
因此,在本发明中,
型
torch.rot90()
类似于numpy.rot90()
例如,在
numpy.rot90(m, k=3, axes=(0, 1))
个将按照下图以图形方式表示:
的数据
z9zf31ra2#
对我来说,当考虑高度和宽度时,这些旋转更有意义。如果将
axis=0
视为高度尺寸,将axis=1
视为宽度尺寸。然后:取一个简单的输入矩阵
x
:字符串
k > 0
:axis=0
朝axis=1
,对应“高朝宽”,即逆时针方向。型
k < 0
:axis=1
向axis=0
,这次是“宽向高”,即 * 顺时针旋转。型