微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

炬管旋转方向.rot90

如何解决炬管旋转方向.rot90

在 torch.rot90 的文档中声明

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

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

enter image description here

解决方法

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

取一个简单的输入矩阵x

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

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

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

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

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

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

因此,

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

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

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

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

例如

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

平均值

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。