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 (Тензор) – одномерный целочисленный тензор
- weights (Тензор) – необязательно, вес для каждого значения в входном тензоре. Должен иметь тот же размер, что и входной тензор.
- 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/2.1/generated/torch.bincount.html