如何使用tensorboard add_histogram

代码样例 https://pytorch.org/docs/stable/tensorboard.html

将以下代码运行

from torch.utils.tensorboard import SummaryWriter
import numpy as np


# 代码样例来自https://pytorch.org/docs/stable/tensorboard.html
writer = SummaryWriter(log_dir="add_histogram_demo_data/log")
for i in range(10):
    x = np.random.random(1000)
    writer.add_histogram('distribution centers', x + i, i)
writer.close()

并在add_histogram_demo_data目录下运行,打开tensorboard

tensorboard --logdir="./log"

能看到如图结果,所有数据的分布都在图中,那么如何理解这个直方图呢?
如何使用tensorboard add_histogram_第1张图片
我们看向第一个数据块,它代表writer.add_histogram('distribution centers', x + i, 0)的调用,此时global_step=0。相同global_step的数据会被放置在同一个层。

上图指向的块高度为336,横坐标为0.167,纵坐标为0,这代表第0层数据在0.167附近的点有336个

我们把这一层的另外两个点分布截图,高度分别为324和340。336+324+340=1000,这就与x = np.random.random(1000)对应上了。直方图显示的就是这1000个点的数值分布情况。
如何使用tensorboard add_histogram_第2张图片
如何使用tensorboard add_histogram_第3张图片

当然,数据肯定不是都刚好等于0.167,0.500和0.833,他们只是刚好坐落在这些附近而已,debug看具体数据可知。
如何使用tensorboard add_histogram_第4张图片

你可能感兴趣的:(AI与ML,pytorch,深度学习,python)