Spec-Zone.ru › PyTorch 2.14

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]

Параметры:
  • input (Tensor или Scalar) – N-мерный тензор или скаляр, содержащий искомые значения.
  • boundaries (Tensor) – одномерный тензор, должен содержать строго возрастающую последовательность, иначе возвращаемое значение не определено.
Именованные аргументы:
  • 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API