📅  最后修改于: 2023-12-03 15:24:20.545000             🧑  作者: Mango
在 PyTorch 中,我们可以使用 torch.histc()
函数来计算张量的直方图。
torch.histc(input, bins=100, min=0, max=0)
返回值:
返回一个张量,表示直方图的频率。
import torch
# 创建一个5x5的随机张量,值域为[0, 1]
x = torch.rand(5, 5)
# 计算x的直方图
hist = torch.histc(x, bins=10, min=0, max=1)
print(hist)
输出结果:
tensor([2., 5., 6., 5., 1., 1., 3., 3., 1., 3.])
可以看出,在 [0, 1] 的范围内,张量 x
的直方图可以分为 10 个柱子。其中第一个柱子表示值在 [0, 0.1) 范围内的元素数量,第二个柱子表示值在 [0.1, 0.2) 范围内的元素数量,以此类推。
import torch
# 创建一个6x6的随机张量,值域为[0, 255]
x = torch.randint(low=0, high=255, size=(6,6))
# 计算x的直方图
hist = torch.histc(x, bins=10, min=0, max=255)
print(hist)
返回结果:
tensor([ 8., 6., 6., 6., 9., 10., 5., 4., 11., 15.])
以上为在 PyTorch 中计算张量的直方图。