如何计算 PyTorch 中张量的直方图?


使用 torch.histc() 计算张量的直方图。它返回一个表示为张量的直方图。它使用四个参数:input、bins、minmax。它将元素排序到 minmax 之间的相等宽度箱中。它忽略小于 min 和大于 max 的元素。

步骤

  • 导入所需的库。在所有以下 Python 示例中,所需的 Python 库都是 torchMatplotlib。确保已经安装了它们。

  • 创建一个张量并打印它。

  • 计算 torch.histc(input, bins=100, min=0, max=100)。它将返回一个直方图值张量。根据需要将 bins、min 和 max 设置为适当的值。

  • 打印上面计算的直方图。

  • 将直方图作为条形图进行可视化。

示例 1

# Python program to calculate histogram of a tensor
# import necessary libraries
import torch
import matplotlib.pyplot as plt

# Create a tensor
T = torch.Tensor([2,3,1,2,3,4,3,2,3,4,3,4])
print("Original Tensor T:\n",T)

# Calculate the histogram of the above created tensor
hist = torch.histc(T, bins = 5, min = 0, max = 4)
print("Histogram of T:\n", hist)

输出

Original Tensor T:
   tensor([2., 3., 1., 2., 3., 4., 3., 2., 3., 4., 3., 4.])
Histogram of T:
   tensor([0., 1., 3., 5., 3.])

示例 2

# Python program to calculate histogram of a tensor
# import necessary libraries
import torch
import matplotlib.pyplot as plt

# Create a tensor
T = torch.Tensor([2,3,1,2,3,4,3,2,3,4,3,4])
print("Original Tensor T:\n",T)

# Calculate the histogram of the above created tensor
hist = torch.histc(T, bins = 5, min = 0, max = 4)

# Visualize above calculated histogram as bar diagram
bins = 5
x = range(bins)
plt.bar(x, hist, align='center')
plt.xlabel('Bins')
plt.ylabel('Frequency')
plt.show()

输出

Original Tensor T:
   tensor([2., 3., 1., 2., 3., 4., 3., 2., 3., 4., 3., 4.])

更新时间:2021 年 11 月 6 日

1 千次浏览

开启你的职业生涯

完成课程认证

开始学习
广告