Shortcuts

torch.repeat_interleave

torch.repeat_interleave(input, repeats, dim=None, *, output_size=None) 张量

重复张量的元素。

警告

这与 torch.Tensor.repeat() 不同,但类似于 numpy.repeat

Parameters
  • 输入 (张量) – 输入张量。

  • repeats (Tensorint) – 每个元素的重复次数。 repeats 会被广播以适应给定轴的形状。

  • dim (int, 可选) – 沿其重复值的维度。 默认情况下,使用展平的输入数组,并返回一个展平的输出数组。

Keyword Arguments

output_size (int, optional) – 给定轴的总输出大小(例如,重复的总和)。如果给出,它将避免计算张量输出形状所需的流同步。

Returns

重复的张量,其形状与输入相同,除了给定的轴之外。

Return type

张量

示例:

>>> x = torch.tensor([1, 2, 3])
>>> x.repeat_interleave(2)
tensor([1, 1, 2, 2, 3, 3])
>>> y = torch.tensor([[1, 2], [3, 4]])
>>> torch.repeat_interleave(y, 2)
tensor([1, 1, 2, 2, 3, 3, 4, 4])
>>> torch.repeat_interleave(y, 3, dim=1)
tensor([[1, 1, 1, 2, 2, 2],
        [3, 3, 3, 4, 4, 4]])
>>> torch.repeat_interleave(y, torch.tensor([1, 2]), dim=0)
tensor([[1, 2],
        [3, 4],
        [3, 4]])
>>> torch.repeat_interleave(y, torch.tensor([1, 2]), dim=0, output_size=3)
tensor([[1, 2],
        [3, 4],
        [3, 4]])

如果 repeatstensor([n1, n2, n3, …]),那么输出将是 tensor([0, 0, …, 1, 1, …, 2, 2, …, …]),其中 0 出现 n1 次, 1 出现 n2 次,2 出现 n3 次,等等。

torch.repeat_interleave(repeats, *) 张量

重复0次repeats[0]次,1次repeats[1]次,2次repeats[2]次,等等。

Parameters

repeats (张量) – 每个元素的重复次数。

Returns

重复张量,大小为 sum(repeats)

Return type

张量

示例:

>>> torch.repeat_interleave(torch.tensor([1, 2, 3]))
张量([0, 1, 1, 2, 2, 2])
优云智算