Shortcuts

torch.Tensor.expand

Tensor.expand(*sizes) 张量

返回一个新的视图,其中 self 张量的单一维度扩展为更大的尺寸。

将 -1 作为尺寸传递给一个维度意味着不改变该维度的大小。

张量也可以扩展到更多维度,新维度将添加在前面。对于新维度,大小不能设置为 -1。

扩展张量不会分配新内存,而只是创建现有张量的一个新视图,其中大小为1的维度通过将stride设置为0来扩展到更大的尺寸。任何大小为1的维度都可以扩展到任意值,而无需分配新内存。

Parameters

*sizes (torch.Sizeint...) – 所需的扩展大小

警告

扩展张量的多个元素可能引用同一个内存位置。因此,就地操作(特别是那些向量化的操作)可能会导致不正确的行为。如果需要对张量进行写操作,请先克隆它们。

示例:

>>> x = torch.tensor([[1], [2], [3]])
>>> x.size()
torch.Size([3, 1])
>>> x.expand(3, 4)
tensor([[ 1,  1,  1,  1],
        [ 2,  2,  2,  2],
        [ 3,  3,  3,  3]])
>>> x.expand(-1, 4)   # -1 表示不改变该维度的大小
tensor([[ 1,  1,  1,  1],
        [ 2,  2,  2,  2],
        [ 3,  3,  3,  3]])
优云智算