在最后一个 dim 上填充多个 torch 张量

Pad multiple torch tensor over the last dim

我有多个具有以下形状的火炬张量

x1 = torch.Size([1, 512, 177])
x2 = torch.Size([1, 512, 250])
x3 = torch.Size([1, 512, 313])

我如何在最后一个维度上用 0 填充所有这些张量,以获得像 ([1, 512, 350]) 这样的独特形状。

我尝试做的是将它们转换成 NumPy 数组并使用这两行代码:

if len(x1) < 350:
            ff = np.pad(f, [(0, self.max_len - f.shape[0]), ], mode='constant')
            f = ff

但不幸的是,它不影响最后的暗淡,而且形状仍然不相等。 任何帮助将不胜感激 谢谢

你可以简单地做:

import torch.nn.functional as F

x = F.pad(x, (0, self.max_len - x.size(2)), "constant", 0)