【问题标题】:Padding a tensor until reaching required size填充张量直到达到所需的大小
【发布时间】:2020-04-20 13:01:06
【问题描述】:

我正在使用形状为 (X,42) 的特定张量,而 X 可以在 50 到 70 之间的范围内。 我想填充我得到的每个张量,直到它达到 70 的大小。所以所有的张量都是(70,42)。 当我的起始大小是变量 X 时,无论如何要这样做吗?感谢您的帮助!

【问题讨论】:

  • 你不会只垫 70-X 吗?

标签: pytorch padding tensor pad zero-padding


【解决方案1】:

您可以通过以下方式轻松做到这一点:

pad_x = torch.zeros((70, x.size(1)), device=x.device, dtype=x.dtype)
padx[:x.size(0), :] = x

这将为您提供x_padx 末尾的零填充

【讨论】:

    【解决方案2】:

    使用torch.nn.functional.pad - 垫张量。

    import torch
    import torch.nn.functional as F
    
    source = torch.rand((3,42))
    source.shape
    >>> torch.Size([3, 42])
    
    # here, pad = (padding_left, padding_right, padding_top, padding_bottom)
    source_pad = F.pad(source, pad=(0, 0, 0, 70 - source.shape[0]))
    
    source_pad.shape
    >>> torch.Size([70, 42])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多