我正在使用形状为 (X,42) 的某些张量,而 X 可以在 50 到 70 之间的范围内。我想填充我得到的每个张量,直到它达到 70 的大小。所以所有张量都将是 ( 70,42)。当我的起始大小是变量 X 时,无论如何要这样做吗?谢谢您的帮助!
问问题
1587 次
2 回答
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])
于 2020-01-01T17:56:09.317 回答
0
您可以通过以下方式轻松做到这一点:
pad_x = torch.zeros((70, x.size(1)), device=x.device, dtype=x.dtype)
padx[:x.size(0), :] = x
这将x_pad
在结束时为您提供零填充x
于 2020-01-01T17:35:45.373 回答