【Python踩坑】关于tensor reshape后做运算(求和/平均)的问题

试想一个简单的问题:一个维度是[1, 6]的tensor,我想其中的6个元素分成3组,每组2个元素,然后对每组中的元素求平均值,得到一个维度是3的输出。应该怎么用Python实现?

最直观的想法就是:将[1, 6]先reshape成[2, 3]或[3, 2],然后在2对应的维度上进行运算,最终得到维度是3的结果。但是,真的[2, 3]或[3, 2]都能行吗?

下面让我们来看看两者的区别,感受一下区别。

a = torch.tensor([[1., 2., 3., 4., 5., 6.