torch.repeat_interleave
-
torch.repeat_interleave(input, repeats, dim=None, *, output_size=None) → Tensor -
Повторение элементов тензора.
Предупреждение
Это отличается от
torch.Tensor.repeat(), но похоже наnumpy.repeat.- Параметры:
-
- input (Тензор) – входной тензор.
- repeats (Тензор или целое число) – Количество повторений для каждого элемента. repeats транслируется для соответствия форме заданной оси.
- dim (целое число, необязательно) – Измерение, по которому повторяются значения. По умолчанию используется сплющенная входная массив и возвращается сплющенная выходная массив.
- Ключевые аргументы:
-
output_size (целое число, необязательно) – Общий размер выходных данных для данной оси (например, сумма повторений). Если задано, это позволит избежать синхронизации потоков, необходимой для вычисления формы тензора выходных данных.
- Возвращаемое значение:
-
Повторённый тензор, имеющий такую же форму, как и входной, за исключением заданной оси.
- Тип возвращаемого значения:
Пример:
>>> 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]])- torch.repeat_interleave(repeats, *, output_size=None) Tensor
Если
repeatsравноtensor([n1, n2, n3, …]), то вывод будетtensor([0, 0, …, 1, 1, …, 2, 2, …, …]), где0появляетсяn1раз,1появляетсяn2раз,2появляетсяn3раз и так далее.
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.repeat_interleave.html