Pytorch|Pytorch丨expand函数

1.官方文档描述 expand(*sizes) 返回tensor的一个新视图,单个维度扩大为更大的尺寸。 tensor也可以扩大为更高维,新增加的维度将附在前面。 扩大tensor不需要分配新内存,只是仅仅新建一个tensor的视图,其中通过将stride设为0,一维将会扩展位更高维。任何一个一维的在不分配新内存情况下可扩展为任意的数值。
参数: - sizes(torch.Size or int…)-需要扩展的大小
【Pytorch|Pytorch丨expand函数】例:

>>> x = torch.Tensor([[1], [2], [3]]) >>> x.size() torch.Size([3, 1]) >>> x.expand(3, 4) 1 1 1 1 2 2 2 2 3 3 3 3 [torch.FloatTensor of size 3x4]

2.实验
  1. expand函数在扩展某个张量时,如果不增加新的维度,则原维度必须至少有一个为1,且其他维度相等.
    Pytorch|Pytorch丨expand函数
    文章图片

    Pytorch|Pytorch丨expand函数
    文章图片
  2. expand函数可以为原张量新增一个维度,但只能新增第一个维度,且其他维度保持一致。如原张量形状为(2,5),可以扩展成(X,2,5)
    Pytorch|Pytorch丨expand函数
    文章图片

    推荐阅读