Función torch.bucketize de PyTorch
Manual de referencia de Pytorch torch
torch.bucketizeEs una función en PyTorch utilizada para la indexación de cubos (bucketize). Mapea los valores de entrada al índice de cubo correspondiente, realizando una búsqueda binaria basada en un array de límites. Se usa comúnmente para discretizar valores continuos u operaciones de binning.
Definición de la función
torch.bucketize(input, boundaries, right=False, out_int32=False, **kwargs)
Ejemplo de uso
Ejemplo
import torch
# Uso básico: índice de cubo
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("Límites:", boundaries)
print("Valores:", values)
print("Índice de cubo:", result)
# Salida: tensor([1, 2, 3, 4, 0, 2])
# right=True indica que los límites son cerrados por la derecha
result_right = torch.bucketize(values, boundaries, right=True)
print("Índice de cubo con right=True:", result_right)
# Salida: tensor([0, 1, 2, 3, 0, 1])
# Entrada multidimensional
values = torch.tensor([[0.5, 1.5], [2.5, 3.5]])
result = torch.bucketize(values, boundaries)
print("Resultado de entrada multidimensional:", result)
# Uso básico: índice de cubo
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("Límites:", boundaries)
print("Valores:", values)
print("Índice de cubo:", result)
# Salida: tensor([1, 2, 3, 4, 0, 2])
# right=True indica que los límites son cerrados por la derecha
result_right = torch.bucketize(values, boundaries, right=True)
print("Índice de cubo con right=True:", result_right)
# Salida: tensor([0, 1, 2, 3, 0, 1])
# Entrada multidimensional
values = torch.tensor([[0.5, 1.5], [2.5, 3.5]])
result = torch.bucketize(values, boundaries)
print("Resultado de entrada multidimensional:", result)
Otras extensiones