当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python PyTorch bincount用法及代码示例

本文简要介绍python语言中 torch.bincount 的用法。

用法:

torch.bincount(input, weights=None, minlength=0) → Tensor

参数

  • input(Tensor) -一维 int 张量

  • weights(Tensor) -可选,输入张量中每个值的权重。应该与输入张量大小相同。

  • minlength(int) -可选,最小箱数。应该是非负数。

返回

一个形状为 Size([max(input) + 1]) 的张量,如果 input 不为空,否则为 Size(0)

返回类型

输出(Tensor)

计算非负整数数组中每个值的频率。

bin 的数量(大小 1)比 input 中的最大值大一,除非 input 为空,在这种情况下,结果是大小为 0 的张量。如果指定了 minlength,则 bin 的数量为至少 minlength 并且如果 input 为空,则结果是大小为 minlength 的张量用零填充。如果 n 是位置 i 的值,如果指定了 weights 则为 out[n] += weights[i] ,否则为 out[n] += 1

注意

当给定 CUDA 设备上的张量时,此操作可能会产生不确定的梯度。有关详细信息,请参阅重现性。

例子:

>>> 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])

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.bincount。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。