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

如何在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 示例
# 导入所需的库
import torch
import matplotlib.pyplot as plt

# 创建一个张量
T = torch.Tensor([2,3,1,2,3,4,3,2,3,4,3,4])
print("原始张量 T:\n",T)

# 计算上述创建的张量的直方图
hist = torch.histc(T, bins = 5, min = 0, max = 4)
print("T 的直方图:\n", hist)

输出

原始张量 T:
   tensor([2., 3., 1., 2., 3., 4., 3., 2., 3., 4., 3., 4.])
T 的直方图:
   tensor([0., 1., 3., 5., 3.])

示例 2

# 计算张量的直方图的 Python 示例
# 导入所需的库
import torch
import matplotlib.pyplot as plt

# 创建一个张量
T = torch.Tensor([2,3,1,2,3,4,3,2,3,4,3,4])
print("原始张量 T:\n",T)

# 计算上述创建的张量的直方图
hist = torch.histc(T, bins = 5, min = 0, max = 4)

# 将上述计算出的直方图可视化为条形图
bins = 5
x = range(bins)
plt.bar(x, hist, align='center')
plt.xlabel('箱子')
plt.ylabel('频率')
plt.show()

输出

原始张量 T:
   tensor([2., 3., 1., 2., 3., 4., 3., 2., 3., 4., 3., 4.])

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程