torch.bincount#
- torch.bincount(input,weights=None,minlength=0)→Tensor#
Count the frequency of each value in an array of non-negative ints.
The number of bins (size 1) is one larger than the largest value in
inputunlessinputis empty, in which case the result is atensor of size 0. Ifminlengthis specified, the number of bins is at leastminlengthand ifinputis empty, then the result is tensor of sizeminlengthfilled with zeros. Ifnis the value at positioni,out[n]+=weights[i]ifweightsis specified elseout[n]+=1.Note
This operation may produce nondeterministic gradients when given tensors on a CUDA device. SeeReproducibility for more information.
- Parameters:
- Returns:
a tensor of shape
Size([max(input)+1])ifinputis non-empty, elseSize(0)- Return type:
output (Tensor)
Example:
>>>input=torch.randint(0,8,(5,),dtype=torch.int64)>>>weights=torch.linspace(0,1,steps=5)>>>input,weights(tensor([4, 3, 6, 3, 4]), tensor([ 0.0000, 0.2500, 0.5000, 0.7500, 1.0000])>>>torch.bincount(input)tensor([0, 0, 0, 2, 2, 0, 1])>>>input.bincount(weights)tensor([0.0000, 0.0000, 0.0000, 1.0000, 1.0000, 0.0000, 0.5000])