torch.bucketize
-
torch.bucketize(input, boundaries, *, out_int32=False, right=False, out=None) → Tensor -
Возвращает индексы ячеек, к которым принадлежит каждое значение в
input, где границы ячеек задаютсяboundaries. Возвращает новый тензор с тем же размером, что иinput. Еслиrightравно False (по умолчанию), то левая граница закрыта. Более формально, возвращаемый индекс удовлетворяет следующим правилам: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, необязательно) – если False, возвращает первый подходящий индекс, который найден. Если True, возвращает последний такой индекс. Если подходящий индекс не найден, возвращает 0 для нечислового значения (например, nan, inf) или размер
boundaries(один проход за последний индекс). Другими словами, если False, получает индекс нижней границы для каждого значения вinputотboundaries. Если True, получает индекс верхней границы вместо этого. Значение по умолчанию — False. -
out (Тензор, необязательно) – выходной тензор, должен быть того же размера, что и
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/1.13/generated/torch.bucketize.html