如何解决炬管旋转方向.rot90
在 torch.rot90 的文档中声明
如果 k > 0,旋转方向是从第一个轴到第二个轴,如果 k
但是说我们从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
因此,
>>> 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))
平均值
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。