torch.bincount
-
torch.bincount(input, weights=None, minlength=0) → Tensor -
Подсчёт частоты каждого значения в массиве неотрицательных целых чисел.
Количество ячеек (размер 1) на единицу больше максимального значения в
inputза исключением случая, когдаinputпусто, в этом случае результат — тензор размера 0. Еслиminlengthуказано, количество ячеек как минимумminlength, и еслиinputпусто, то результат — тензор размераminlengthзаполненный нулями. Еслиn— значение в позицииi, тоout[n] += weights[i]еслиweightsуказано, иначеout[n] += 1.Примечание
Эта операция может генерировать недетерминированные градиенты при работе с тензорами на устройстве CUDA. Смотрите Воспроизводимость для получения дополнительной информации.
- Параметры:
-
- input (Тензор) – 1-мерный целочисленный тензор
- weights (Тензор) – необязательно, веса для каждого значения в тензоре input. Должен иметь тот же размер, что и тензор input.
- minlength (целое число) – необязательно, минимальное количество ячеек. Должно быть неотрицательным.
- Возвращаемое значение:
-
тензор формы
Size([max(input) + 1])еслиinputне пусто, иначеSize(0) - Тип возвращаемого значения:
-
output (Тензор)
Пример:
>>> input = torch.randint(0, 8, (5,), dtype=torch.int64) >>> weights = torch.linspace(0, 1, steps=5) >>> input, weights (tensor([4, 3, 6, 3, 4]), tensor([ 0.0000, 0.2500, 0.5000, 0.7500, 1.0000]) >>> torch.bincount(input) tensor([0, 0, 0, 2, 2, 0, 1]) >>> input.bincount(weights) tensor([0.0000, 0.0000, 0.0000, 1.0000, 1.0000, 0.0000, 0.5000])
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.bincount.html