IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    关于tensorboard介绍的翻译

    chenxia发表于 2023-07-05 02:18:19
    love 0

    原文地址《Introducing Tensor Board.dev: a new way to share your ML experiment results》

    Tensorboard作为tensorflow的可视化组件,通常为研究者和工程师提供可视化和理解机器学习的实验结果。它可以被用来

    • Tracking experiment metrics(记录实验指标)
    • Visualizing models(可视化模型)
    • Profiling ML programs(分析机器学习运行过程)
    • Visualizing hyperparameter tuning experiments(可视化超参数调节实验)

    除了可以简单的可视化模型,Tensorboard也可以多端合作。你可能想分享超参变动对结果的影响、解释一个复杂的训练过程和从失败中获取帮助

    我们之前加过人们尝试分享TensorBoard的截图来实现,但是截图并不是可交互的并且没有展示所有的细节。在Google,研究人员和工程师往往通过tensorboard 可视化结果给团队成员来讨论观点。我们的目标是为更广泛的社区提供这个能力

    这也是为什么我们开发tensorboard.dev:一项托管服务(目前正在预览中),使您能够轻松地免费托管、跟踪和共享您的ML实验。只需上传您的TensorBoard日志,即可收到一个每个人都可以查看的链接,无需安装或设置。

    If a picture is worth a thousand words, we believe an interactive TensorBoard can be even more valuable.

    使用逻辑

    通过SummaryWriter()类来实现数据保存和展示

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    from torch.utils.tensorborad import SummaryWriter
    write = SummaryWrite('../logs') # 指定log保存的位置

    # 常用方法
    add_scalar(tag, scalar_value, global_step=None, walltime=None, new_style=False, double_precision=False)
    add_scalars(main_tag, tag_scalar_dict, global_step=None, walltime=None)
    add_histogram(tag, values, global_step=None, bins='tensorflow', walltime=None, max_bins=None)
    add_image(tag, img_tensor, global_step=None, walltime=None, dataformats='CHW')
    add_images(tag, img_tensor, global_step=None, walltime=None, dataformats='NCHW')
    add_figure(tag, figure, global_step=None, close=True, walltime=None)
    add_video(tag, vid_tensor, global_step=None, fps=4, walltime=None)
    add_audio(tag, snd_tensor, global_step=None, sample_rate=44100, walltime=None)
    add_text(tag, text_string, global_step=None, walltime=None)
    add_graph(model, input_to_model=None, verbose=False, use_strict_trace=True)
    add_embedding(mat, metadata=None, label_img=None, global_step=None, tag='default', metadata_header=None)


    实际应用

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    from torch.utils.tensorboard import SummaryWriter
    import torch.nn as nn
    import torch
    import numpy as np

    input = torch.zeros(1,20)
    net = nn.Sequential(nn.Linear(20, 256), nn.ReLU(), nn.Linear(256, 10))
    writer = SummaryWriter('./logs')
    for epoch in range(100):
    writer.add_scalar('Loss/train',np.random.random(),epoch)
    writer.add_scalar('Loss/test',np.random.random(),epoch)
    writer.add_scalar('Accuarcy/train',np.random.random(),epoch)
    writer.add_graph(net,input_to_model=input)


沪ICP备19023445号-2号
友情链接