torch.bucketize
-
torch.bucketize(input, boundaries, *, out_int32=False, right=False, out=None) → Tensor -
Возвращает индексы корзин, к которым относится каждое значение в
input, где границы корзин задаются с помощьюboundaries. Возвращает новый тензор того же размера, что иinput. Еслиrightравно False (по умолчанию), левая граница является открытой. Обратите внимание, что это поведение противоположно поведению numpy.digitize. Более формально, возвращаемый индекс удовлетворяет следующим правилам:rightвозвращаемый индекс удовлетворяет условию
False
boundaries[i-1] < input[m][n]...[l][x] <= boundaries[i]True
boundaries[i-1] <= input[m][n]...[l][x] < boundaries[i]- Параметры:
- Именованные аргументы:
-
- out_int32 (bool, необязательный) – задаёт тип данных выходного значения. torch.int32, если True, и torch.int64 в противном случае. Значение по умолчанию — False, то есть тип данных выходного значения по умолчанию — torch.int64.
-
right (bool, необязательный) – определяет поведение для значений в
boundaries. См. таблицу выше. -
out (Tensor, необязательный) – выходной тензор; если он указан, его размер должен совпадать с размером
input.
Пример:
>>> boundaries = torch.tensor([1, 3, 5, 7, 9]) >>> boundaries tensor([1, 3, 5, 7, 9]) >>> v = torch.tensor([[3, 6, 9], [3, 6, 9]]) >>> v tensor([[3, 6, 9], [3, 6, 9]]) >>> torch.bucketize(v, boundaries) tensor([[1, 3, 4], [1, 3, 4]]) >>> torch.bucketize(v, boundaries, right=True) tensor([[2, 3, 5], [2, 3, 5]])
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.bucketize.html