教你如何在Pytorch中使用TensorBoard

作者:weixin_38385446 时间:2022-02-22 17:55:46 

什么是TensorboardX

Tensorboard 是 TensorFlow 的一个附加工具,可以记录训练过程的数字、图像等内容,以方便研究人员观察神经网络训练过程。可是对于 PyTorch 等其他神经网络训练框架并没有功能像 Tensorboard 一样全面的类似工具,一些已有的工具功能有限或使用起来比较困难 (tensorboard_logger, visdom等) 。TensorboardX 这个工具使得 TensorFlow 外的其他神经网络框架也可以使用到 Tensorboard 的便捷功能。TensorboardX 的 github仓库在这里。

TensorboardX 的文档相对详细,但大部分缺少相应的示例。本文是对TensorboardX 各项功能的完整介绍,每项都包含了示例,给出了可视化效果,希望可以方便大家的使用。笔者水平有限,还请读者们斧正,相关问题可以在留言区提出,我尽量解答。

TensorBoard是TensorFlow中强大的可视化工具

安装TensorBoard

pip install tensorboard

pip install future

代码演示


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

writer = SummaryWriter(comment='test_tensorboard')

for x in range(100):

writer.add_scalar('y=2x', x * 2, x)
   writer.add_scalar('y=pow(2, x)',  2 ** x, x)

writer.add_scalars('data/scalar_group', {"xsinx": x * np.sin(x),
                                            "xcosx": x * np.cos(x),
                                            "arctanx": np.arctan(x)}, x)
writer.close()

运行完,会保存在当前目录的runs文件底下。

教你如何在Pytorch中使用TensorBoard

查看结果


# cd 到当前的工作目录下,如:
cd 19RNN\predrnn-pytorch-master\predrnn-pytorch-master

# 运行 tensorboard
tensorboard --logdir "./"

浏览器中输入查看的地址

http://127.0.0.1:6006/

教你如何在Pytorch中使用TensorBoard

额外知识点:

 (1)writer.add_scalar()
功能:将标量添加到 summary
参数:
tag (string):数据标识符
scalar_value (float or string/blobname):要保存的数值
global_step (int):全局步值
walltime (float):可选参数,用于记录发生的时间,默认为 time.time()

(2)writer.add_scalars()
功能:添加多个标量数据到 summary 中
参数:
main_tag (string):tag 的父级名称
tag_scalar_dict (dict):保存 tag 及相应的值的键值对
global_step (int):全局步值
walltime (float) 可选参数,可选参数,用于记录发生的时间,默认为 time.time()
两者区别
writer.add_scalar() 添加一个标量到 summary
writer.add_scalars() 可以同时添加多个标量到 summary 中,多个标量需要使用键值对的形式输入
两者共同点
第一个参数可简单理解为保存到 tensorboard 日志文件中的标量图像的名称
第二个参数可简单理解为图像的 y 轴数据
第三个参数可简单理解为图像的 x 轴数据
第四个参数都是可选参数,用于记录发生的时间,默认为 time.time()

来源:https://blog.csdn.net/weixin_38385446/article/details/119382712

标签:Pytorch,TensorBoard
0
投稿

猜你喜欢

  • pycharm运行出现ImportError:No module named的解决方法

    2022-09-10 18:06:23
  • Python实现敏感词过滤的4种方法

    2021-10-01 06:21:08
  • Python中range、np.arange和np.linspace的区别

    2023-10-17 14:45:14
  • asp如何制作一个安全的页面?

    2010-06-29 21:22:00
  • web 2.0设计指导之一:简单[译]

    2008-10-12 09:37:00
  • 使用Python制作一个数据预处理小工具(多种操作一键完成)

    2023-07-06 20:50:21
  • css网页下拉菜单制作方法(4):定位问题

    2007-02-03 11:39:00
  • Python Excel数据处理之xlrd/xlwt/xlutils模块详解

    2022-03-28 16:45:53
  • asp中isNull(str), isEmpty(str)和str=""的区别

    2008-02-15 13:10:00
  • 对numpy中数组元素的统一赋值实例

    2021-05-31 18:47:37
  • Python3 加密(hashlib和hmac)模块的实现

    2022-07-02 08:13:52
  • Python+Turtle绘制一个可爱的生日蛋糕

    2022-12-29 04:05:39
  • PHP微信开发之查询微信精选文章

    2023-11-14 12:45:54
  • 解决使用python print打印函数返回值多一个None的问题

    2021-08-22 07:52:09
  • Django实现分页显示效果

    2021-12-04 14:01:37
  • python读取yaml文件后修改写入本地实例

    2021-12-20 02:53:54
  • Python中的字典遍历备忘

    2021-12-08 05:59:37
  • PHP getNamespaces()函数讲解

    2023-06-11 07:32:45
  • 如何拒绝同一张表单被多次提交?

    2009-12-16 18:46:00
  • python队列queue模块详解

    2023-03-28 17:26:02
  • asp之家 网络编程 m.aspxhome.com