Pytorch expand_as()函数

Pytorch expand_as函数;expand_as函数

  • expand()
  • 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]]]])

你可能感兴趣的:(Pytorch,深度学习)