pytorch每日一学36(torch.movedim())将tensor指定的维数进行交换

第36个方法

torch.movedim(input, source, destination) → Tensor
  • 此方法是将input中source维与destination维进行交换,例如原来的维数是(3, 4, 5)经过此方法后可以将维数改为(3, 5, 4)或者(4, 3, 5)都可以。

接下来介绍参数:

  • input:要交换维数的tensor。
  • source:源维数,想要进行交换的原来的维数。
  • destination:目标维数,用于与源维数相交换。源维和目标维必须不同。

接下来看一个例子:
pytorch每日一学36(torch.movedim())将tensor指定的维数进行交换_第1张图片

  • 对于二维矩阵来说,结果十分的显而易见,将0维和1进行交换以后,其实就是将矩阵进行了转置,所以维度进行了改变。

而其实我们的sourc和destination不仅可以是一个数字,还可以是一个tensor或者元组,如下所示:
pytorch每日一学36(torch.movedim())将tensor指定的维数进行交换_第2张图片
当然,由于数字实在是太长了,我这里就不显示数字了,很简单,就是将source中的维数,与destination中对应的维数进行交换就可以了。

当然,虽然source和destination是必须不同的,但是却也可以这样:
pytorch每日一学36(torch.movedim())将tensor指定的维数进行交换_第3张图片
结果也很好推断,将0,1维放到2, 3维,那么剩下的4维就只能放到0维的位置上了。

你可能感兴趣的:(pytorch每日一学,python,pytorch,神经网络,机器学习,深度学习)