Spec-Zone.ru › PyTorch 2

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]

Parameters
  • input (Тензор или Скаляр) – N-мерный тензор или скаляр, содержащий искомое значение(я).
  • boundaries (Тензор) – 1-мерный тензор, должен содержать строго возрастающую последовательность, в противном случае результат не определён.
Keyword Arguments
  • out_int32 (bool, optional) – указывает тип данных результата. torch.int32, если True, torch.int64 в противном случае. Значение по умолчанию False, т.е. тип данных результата по умолчанию torch.int64.
  • right (bool, optional) – если False, возвращает первый подходящий индекс. Если True, возвращает последний подходящий индекс. Если подходящий индекс не найден, возвращает 0 для нечислового значения (например, nan, inf) или размер boundaries (превышение последнего индекса). Другими словами, если False, получает индекс нижней границы для каждого значения в input из boundaries. Если True, получает индекс верхней границы вместо этого. Значение по умолчанию False.
  • out (Тензор, optional) – выходной тензор, должен быть того же размера, что и 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]])

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.bucketize.html

Spec-Zone.ru

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