torch.repeat_interleave
-
torch.repeat_interleave(input, repeats, dim=None) → Tensor
-
Repeat elements of a tensor.
Warning
This is different from
torch.Tensor.repeat()
but similar tonumpy.repeat
.- Parameters
-
- input (Tensor) – the input tensor.
- repeats (Tensor or int) – The number of repetitions for each element. repeats is broadcasted to fit the shape of the given axis.
- dim (int, optional) – The dimension along which to repeat values. By default, use the flattened input array, and return a flat output array.
- Returns
-
Repeated tensor which has the same shape as input, except along the given axis.
- Return type
Example:
>>> 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(repeats) → Tensor
If the
repeats
istensor([n1, n2, n3, …])
, then the output will betensor([0, 0, …, 1, 1, …, 2, 2, …, …])
where0
appearsn1
times,1
appearsn2
times,2
appearsn3
times, etc.
© 2019 Torch Contributors
Licensed under the 3-clause BSD License.
https://pytorch.org/docs/1.8.0/generated/torch.repeat_interleave.html