Pytorch expand_as()函数

一曲冷凌霜 提交于 2020-03-06 05:02:53

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]]]])
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!