Функция PyTorch torch.bucketize
Справочное руководство 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)
# Базовое использование: бакетизированная индексация
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)
Другие расширения