torch.histogram¶
- torch.histogram(input, bins, *, range=None, weight=None, density=False, out=None)¶
计算张量中值的直方图。
bins
可以是一个整数或一个一维张量。如果
bins
是整数,则指定等宽分箱的数量。默认情况下,分箱的下限和上限由输入张量的最小值和最大值确定。可以提供range
参数来指定分箱的范围。如果
bins
是一维张量,则指定包括最右侧边界的分箱边序列。它应包含至少 2 个元素,且其元素应递增。- 参数:
input (Tensor) – 输入张量。
分箱 - 整数或一维张量。如果是整数,则定义等宽分箱的数量。如果是张量,则定义包括最右侧边界的分箱边序列。
- 关键字参数:
range(Python 浮点元组)- 定义 bin 的范围。
weight(张量)- 如果提供,权重应与输入具有相同的形状。输入中的每个值都向其 bin 的结果贡献其关联的权重。
density(布尔值)- 如果为 False,则结果将包含每个 bin 中的计数(或总权重)。如果为 True,则结果是概率密度函数在 bin 上的值,归一化使得 bin 范围的积分等于 1。
out(张量,可选)- 输出张量。(元组,可选):两个输出张量的结果元组(hist,bin_edges)。
- 返回值:
包含直方图值的 1D 张量。bin_edges(Tensor):包含直方图边界的 1D 张量。
- 返回类型:
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.]))