TensorBoard的使用

TensorBoard是一个可视化工具,它可以用来展示网络图、张量的指标变化、张量的分布情况等。特别是在训练网络的时候,我们可以设置不同的参数(比如:权重W、偏置B、卷积层数、全连接层数等),使用TensorBoader可以很直观的帮我们进行参数的选择。

SummaryWriter类:

        提供了一个高级API来创建事件文件

        

def __init__(self, log_dir=None, comment='', purge_step=None, max_queue=10,
                 flush_secs=120, filename_suffix=''):

         其构造函数,log_dir是存储目录位置,默认位置是folder location: runs/May04_22-14-54_s-MacBook-Pro.local/,也可以自己设一个目录名字如:logs

add_scalar函数:添加一个标量数据进行summary,生成了一个图表

        

def add_scalar(
        self,
        tag,
        scalar_value,
        global_step=None,
        walltime=None,
        new_style=False,
        double_precision=False,
    ):

         tag是标题,scalar_value是y坐标,global_step是x坐标

画一个y=x的图表:

from torch.utils.tensorboard import SummaryWriter


writer = SummaryWriter("logs")
for i  in range(100):
    writer.add_scalar("y=x", i, i)

writer.close()

执行上述代码后在本文件下生成了一个logs文件,且包含了一个事件文件

终端输入以下命令进行查看事件文件:

        tensorboard --logdir=logs --port=6007

我们也可以画一个y=2x的图标,将上诉代码改成2*i,也要改一下title,每执行一次代码后,生成了一个新的事件文件,再去查看图表就有2个图表了。如果不改变title那么它会认为是将前后两次的函数进行一个拟合,生成的图像就会很奇怪

add_image函数:

         

def add_image(self, tag, img_tensor, global_step=None, walltime=None, dataformats='CHW'):
其中tag也是一个类似于title的标识符,不同的tag会把图像添加在不同的块中,img_tensor是图像数据,支持的数据形式有torch.Tensor, numpy.array, or string/blobname类型,step是步长,步长的不同可以区分一个块中不同的图片,也就是说tag相当于是一个大分类,而步长是一个分类中表示编号或者顺序不同的图片。dataformats是图片的shape形式,比如你的图片格式是通道数在前面就用上诉格式,也是默认格式,如果你的通道数在后面如460*460*3,那么急用'HWC'

      

image_path = "hymenoptera_data/train/ants/5650366_e22b7e1065.jpg"
img_PIL = Image.open(image_path)
img_array = np.array(img_PIL)
writer.add_image("train", img_array, 2, dataformats='HWC')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值