Tensor的镜像翻转
在使用numpy时我们可以对数组进行镜像翻转操作,如以下例子
1 | import numpy as np |
[0 1 2 3 4 5 6 7 8 9]
[9 8 7 6 5 4 3 2 1 0]
但是在pytorch中并不能通过tensor[::-1]进行镜像的翻转,此处给出了tensor的镜像翻转方法
1 | # https://github.com/pytorch/pytorch/issues/229 |
tensor([[[[ 1., 2., 3., 4.],
[ 5., 6., 7., 8.],
[ 9., 10., 11., 12.]],
[[13., 14., 15., 16.],
[17., 18., 19., 20.],
[21., 22., 23., 24.]]]])
tensor([[[[ 1., 2., 3., 4.],
[ 5., 6., 7., 8.],
[ 9., 10., 11., 12.]],
[[13., 14., 15., 16.],
[17., 18., 19., 20.],
[21., 22., 23., 24.]]]])
tensor([[[[13., 14., 15., 16.],
[17., 18., 19., 20.],
[21., 22., 23., 24.]],
[[ 1., 2., 3., 4.],
[ 5., 6., 7., 8.],
[ 9., 10., 11., 12.]]]])
tensor([[[[ 9., 10., 11., 12.],
[ 5., 6., 7., 8.],
[ 1., 2., 3., 4.]],
[[21., 22., 23., 24.],
[17., 18., 19., 20.],
[13., 14., 15., 16.]]]])
tensor([[[[ 4., 3., 2., 1.],
[ 8., 7., 6., 5.],
[12., 11., 10., 9.]],
[[16., 15., 14., 13.],
[20., 19., 18., 17.],
[24., 23., 22., 21.]]]])
以下是pytorch>=0.4.0的代码
1 | # https://github.com/pytorch/pytorch/issues/229 |