Функция PyTorch torch.bucketize


Pytorch torch 参考手册Справочное руководство Pytorch torch

torch.bucketizeЭто функция PyTorch, используемая для бакетизированной индексации. Она сопоставляет входные значения соответствующим индексам корзин, выполняя бинарный поиск на основе массива границ. Она часто используется для дискретизации непрерывных значений или для операций биннинга.

Определение функции

torch.bucketize(input, boundaries, right=False, out_int32=False, **kwargs)

Пример использования

Пример

import torch

# Базовое использование: бакетизированная индексация
boundaries = torch.tensor([0, 1, 2, 3, 4])
values = torch.tensor([0.5, 1.5, 2.5, 3.5, 0.2, 2.0])

result = torch.bucketize(values, boundaries)
print("Границы:", boundaries)
print("Значения:", values)
print("Индексы корзин:", result)
# Вывод: tensor([1, 2, 3, 4, 0, 2])

# right=True означает, что границы — это интервалы, замкнутые справа
result_right = torch.bucketize(values, boundaries, right=True)
print("Индексы корзин при right=True:", result_right)
# Вывод: tensor([0, 1, 2, 3, 0, 1])

# Многомерный ввод
values = torch.tensor([[0.5, 1.5], [2.5, 3.5]])
result = torch.bucketize(values, boundaries)
print("Результат для многомерного ввода:", result)

Pytorch torch 参考手册Справочное руководство Pytorch torch

Другие расширения