histogram

paddle. histogram ( input, bins=100, min=0.0, max=0.0, weight=None, density=False, name=None ) [源代码]

计算输入 Tensor 的直方图。以 min 和 max 为 range 边界,将其均分成 bins 个直条,然后将排序好的数据划分到各个直条(bins)中。如果 min 和 max 都为 0.0,则利用数据中的最大最小值作为边界。

参数

  • input (Tensor) - 输入 Tensor。维度为多维,数据类型为 int32、int64、float32 或 float64。

  • bins (int,可选) - 直方图 bins(直条)的个数,默认为 100。

  • min (float,可选) - range 的下边界(包含),默认为 0.0。

  • max (float,可选) - range 的上边界(包含),默认为 0.0。

  • weight (Tensor,可选) - 权重 Tensor,维度和 input 相同。如果提供,输入中的每个值都将以对应的权重值进行计数(而不是 1)。默认为 None。

  • density (bool,可选) - 如果为 False,则返回直方图中每个 bin 的计数。如果为 True,则返回直方图中每个 bin 经过归一化后的概率密度函数的值,使得直方图的积分(即所有 bin 的面积)等于 1。默认为 False。

  • name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。

返回

Tensor,维度为(nbins,)。如果 density 为 True 或者 weight 不为 None,则返回的 Tensor 的数据类型为 float32;否则为 int64。

代码示例

>>> import paddle

>>> inputs = paddle.to_tensor([1, 2, 1])
>>> result = paddle.histogram(inputs, bins=4, min=0, max=3)
>>> print(result)
Tensor(shape=[4], dtype=int64, place=Place(cpu), stop_gradient=True,
[0, 2, 1, 0])

使用本API的教程文档