维度变换
reshape分解与合并维度
reshape改变维度,并不会影响数据存储的顺序与内容,只是会丢失维度的信息,改变视图结构,进行了数据重新的组合。在改变维度的过程中,应该小心,保证更改后总大小不变,例如:

transpose转置与维度交换
transpose可以对多维Tensor进行转置,注意它并不局限于矩阵,其转置相当于将shape倒过来排列,例如[1,2,3]转置为[3,2,1]。此外,它还可以进行任意的维度交换,实际上转置也可以看做维度的交换,例如[1,2,3]现在可以将第二维和第三维交换,结果是[1,3,2]。详细情况如下,transpose指定perm时,默认功能为倒置。

expand_dims扩维与squeeze降维
在矩阵计算中经常碰到维度不一致的情况,例如一个3*3的矩阵和一个长度为3的向量做加法,需要将向量在横向上复制成3*3的矩阵。这里就可以用expand_dims+