Tensorboard(1) 标量与直方图可视化

(1)标量

标量就是一个单值,学习率、损失值、准确率等都可称之为标量,如下代码实现了对标量数据可视化:

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


if __name__ == '__main__':

    # 实例化一个SummaryWriter
    # log_dir : evnent file 输出目录,不指定log_dir时,会在当前路径下生成runs的目录,
    # comment : 不指定log_dir时,runs的目录下子目录的后缀,如果设置了log_dir则comment不起作用
    # filename_suffux: envent file文件后缀
    summary_writer = SummaryWriter(log_dir='log', comment='test tensorboard scalar', filename_suffix='test_1')

    # add_scalar() 与 add_scalars()函数是用来可视化标量数据
    # add_scalar()添加一个y轴数据, add_scalars()可以同时添加多个y轴数据, 多个y轴数据需要使用字典的形式输入
    for x in range(100):
        # tag : 为图像的名称
        # scalar_value : 为图像的y轴数据
        # global_step : 为图像的x轴数据
        # walltime : 用于记录发生的时间,默认为 time.time()
        summary_writer.add_scalar(tag='y=2x', scalar_value=x * 2, global_step=x, walltime=None)

        # tag : 为图像的名称
        # tag_scalar_dict : 为图像多个y轴数据, 需要使用字典的形式输入
        # global_step : 为图像的x轴数据
        # walltime : 用于记录发生的时间,默认为 time.time()
        summary_writer.add_scalars(main_tag='data/scalar_group', 
                                   tag_scalar_dict={'xsinx': x * np.sin(x), 'xcosx': x * np.cos(x), 'arctanx': np.arctan(x)}, 
                                   global_step=x,
                                   walltime=None)

运行tensorboard,并指定日志目录:

tensorboard --logdir log

 

 (2) 直方图

通过直方图可以对张量数据进行可视化,比如可视化网络的权重参数、梯度信息等,下面是符合正态分布的tensor数据进行的可视化:

from torch.utils.tensorboard import SummaryWriter
import torch


if __name__ == '__main__':
    
    summary_writer = SummaryWriter(log_dir='log' ,comment='test tensorboard histogram', filename_suffix='test_1')

    for x in range(2):
        torch.manual_seed(x)

        data_normal = torch.randn(640, 640)

        # 统计直方图与多分位数折线图(用于观察数据方差的变化)
        # tag : 为图像的名称
        # values : 要统计的参数
        # global_step : y轴数据
        # bins : 取直方图的bins,默认参数为'tensorflow'
        # walltime : 用于记录发生的时间,默认为 time.time()
        summary_writer.add_histogram(tag='distribution normal', values=data_normal, global_step=x)
    
    summary_writer.close()

运行tensorboard,并指定日志目录

tensorboard --logdir log

 HISTOGRAMS:

 DISTRIBUTIONS:

 DISTRIBUTIONS图是空的图,不知道什么原因。

关于HISTOGRAMS与DISTRIBUTIONS图像的含义,请参考:https://www.cnblogs.com/chouxianyu/p/12622914.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洪流之源

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值