Rate this Page

torch.bucketize#

torch.bucketize(input,boundaries,*,out_int32=False,right=False,out=None)Tensor#

Returns the indices of the buckets to which each value in theinput belongs, where theboundaries of the buckets are set byboundaries. Return a new tensor with the same sizeasinput. Ifright is False (default), then the left boundary is open. Note thatthis behavior is opposite the behavior ofnumpy.digitize.More formally, the returned index satisfies the following rules:

right

returned index satisfies

False

boundaries[i-1]<input[m][n]...[l][x]<=boundaries[i]

True

boundaries[i-1]<=input[m][n]...[l][x]<boundaries[i]

Parameters
  • input (Tensor orScalar) – N-D tensor or a Scalar containing the search value(s).

  • boundaries (Tensor) – 1-D tensor, must contain a strictly increasing sequence, or the return value is undefined.

Keyword Arguments
  • out_int32 (bool,optional) – indicate the output data type. torch.int32 if True, torch.int64 otherwise.Default value is False, i.e. default output data type is torch.int64.

  • right (bool,optional) – determines the behavior for values inboundaries. See the table above.

  • out (Tensor,optional) – the output tensor, must be the same size asinput if provided.

Example:

>>>boundaries=torch.tensor([1,3,5,7,9])>>>boundariestensor([1, 3, 5, 7, 9])>>>v=torch.tensor([[3,6,9],[3,6,9]])>>>vtensor([[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]])