torch.bincount¶
- torch.bincount(input, weights=None, minlength=0) Tensor ¶
统计非负整数数组中每个值的频率。
箱子的数量(大小为 1)比
input
中的最大值大 1,除非input
为空,此时结果为大小为 0 的张量。如果指定了minlength
,则箱子的数量至少为minlength
,如果input
为空,则结果为大小为minlength
且填充为零的张量。如果n
是位置i
的值,out[n] += weights[i]
如果指定了weights
,否则为out[n] += 1
。注意
当在 CUDA 设备上给定张量时,此操作可能会产生非确定性的梯度。有关更多信息,请参阅可重现性。
- 参数:
输入(张量)- 1 维整型张量
权重(张量)- 可选,输入张量中每个值的权重。应与输入张量大小相同。
minlength (int) – 可选,最小桶数。应为非负数。
- 返回值:
形状为
Size([max(input) + 1])
如果input
不为空,则为Size(0)
- 返回类型:
输出(张量)
示例:
>>> 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])