Shortcuts

torch.histogram

torch.histogram(input, bins, *, range=None, weight=None, density=False, out=None)

计算张量中值的直方图。

bins 可以是一个整数或一个一维张量。

如果 bins 是一个整数,它指定等宽的箱数。 默认情况下,箱的下限和上限范围由输入张量的最小和最大元素决定。可以使用 range 参数来指定箱的范围。

如果 bins 是一个一维张量,它指定包括最右边缘的箱边缘序列。它应包含至少2个元素,并且其元素应递增。

Parameters
  • 输入 (张量) – 输入张量。

  • bins – 整数或一维张量。如果是整数,定义了等宽的箱数。如果是张量,定义了包括最右边缘的箱边缘序列。

Keyword Arguments
  • 范围 (元组浮点数) – 定义了箱的范围。

  • 权重 (张量) – 如果提供,权重应与输入具有相同的形状。输入中的每个值都会将其关联的权重贡献给其所在区间的结果。

  • 密度 (布尔值) – 如果为False,结果将包含每个箱子中的计数(或总权重)。 如果为True,结果是概率密度函数在箱子上的值, 归一化使得箱子范围上的积分是1。

  • 输出 (张量, 可选) – 输出张量。(元组, 可选): 两个输出张量(hist, bin_edges)的结果元组。

Returns

包含直方图值的一维张量。 bin_edges(Tensor): 包含直方图箱边缘的一维张量。

Return type

hist (张量)

示例:

>>> torch.histogram(torch.tensor([1., 2, 1]), bins=4, range=(0., 3.), weight=torch.tensor([1., 2., 4.]))
(tensor([ 0.,  5.,  2.,  0.]), tensor([0., 0.75, 1.5, 2.25, 3.]))
>>> torch.histogram(torch.tensor([1., 2, 1]), bins=4, range=(0., 3.), weight=torch.tensor([1., 2., 4.]), density=True)
(tensor([ 0.,  0.9524,  0.3810,  0.]), tensor([0., 0.75, 1.5, 2.25, 3.]))
优云智算