1.官方文档描述
expand(*sizes)
返回tensor的一个新视图,单个维度扩大为更大的尺寸。 tensor也可以扩大为更高维,新增加的维度将附在前面。 扩大tensor不需要分配新内存,只是仅仅新建一个tensor的视图,其中通过将stride
设为0,一维将会扩展位更高维。任何一个一维的在不分配新内存情况下可扩展为任意的数值。
参数: - sizes(torch.Size or int…)-需要扩展的大小
例:
>>> 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.实验
expand
函数在扩展某个张量时,如果不增加新的维度,则原维度必须至少有一个为1,且其他维度相等.
expand
函数可以为原张量新增一个维度,但只能新增第一个维度,且其他维度保持一致。如原张量形状为(2,5),可以扩展成(X,2,5)