1.torch.reshape()、torch.view()可以调整Tensor的shape
2.torch.unsqueeze(index)可以为Tensor增加一个维度
3.squeeze()可以删减维度
4.expand()扩展维度
5.repeat()维度重复,不常用
6.transpose(dim1, dim2)交换dim1与dim2,进行维度变换。
注意这种交换使得存储不再连续,再执行一些reshape的操作会报错,所以要调用一下contiguous()使其变成连续的维度。
参考:https://blog.csdn.net/weicao1990/article/details/93618136文章来源:https://www.toymoban.com/news/detail-622087.html
7.Broadcasting(广播)也就是自动实现了若干unsqueeze和expand操作,以使两个Tensor的shape一致,从而完成某些操作(往往是加法)。
比如得到的feature maps的维度是[4,32,14,14],对这些特征图加上偏置,bias[32],先对bias进行unsqueeze操作增加维度:[1,32,1,1],再用expand操作进行扩充[4,32,14,14]。然后两者就可以相加了。文章来源地址https://www.toymoban.com/news/detail-622087.html
到了这里,关于Pytorch Tensor维度变换方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!