Pytorch expand_as函数;expand_as函数
expand()
expand(*sizes)
将张量扩展为和参数sizes一样的大小。
【参数】:
sizes(torch.Size or int):需要扩展的大小。必须是由 ints 组成的 tuple 。
>>> x = torch.Tensor([[1], [2], [3]])
>>> y = x.expand(3, 3)
>>> print(x)
tensor([[1.],
[2.],
[3.]])
>>> print(y)
tensor([[1., 1., 1.],
[2., 2., 2.],
[3., 3., 3.]])
>>> print(x.shape)
torch.Size([3, 1])
>>> print(y.shape)
torch.Size([3, 3])
expand_as()
expand_as(tensor)
将张量扩展为参数tensor的大小。
>>> x = torch.randn(1, 3, 1, 1)
>>> y = torch.randn(1, 3, 3, 3)
>>> z = x.expand_as(y)
>>> print(x)
tensor([[[[ 0.4383]],
[[-1.5909]],
[[ 0.0814]]]])
>>> print(z)
tensor([[[[ 0.4383, 0.4383, 0.4383],
[ 0.4383, 0.4383, 0.4383],
[ 0.4383, 0.4383, 0.4383]],
[[-1.5909, -1.5909, -1.5909],
[-1.5909, -1.5909, -1.5909],
[-1.5909, -1.5909, -1.5909]],
[[ 0.0814, 0.0814, 0.0814],
[ 0.0814, 0.0814, 0.0814],
[ 0.0814, 0.0814, 0.0814]]]])