教你如何在Pytorch中使用TensorBoard

 更新时间:2021年08月19日 11:32:54   作者:weixin_38385446  
TensorBoard是TensorFlow中强大的可视化工具,今天通过本文给大家介绍如何在Pytorch中使用TensorBoard,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友一起看看吧

什么是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文件底下。

查看结果

# cd 到当前的工作目录下,如:
cd 19RNN\predrnn-pytorch-master\predrnn-pytorch-master
 
# 运行 tensorboard
tensorboard --logdir "./"

浏览器中输入查看的地址

http://127.0.0.1:6006/

额外知识点:

 (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()

到此这篇关于教你如何在Pytorch中使用TensorBoard的文章就介绍到这了,更多相关Pytorch使用TensorBoard内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能

    Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能

    这篇文章主要介绍了Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能,涉及Python网络请求的创建、发送、响应、处理等相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • 浅谈配置OpenCV3 + Python3的简易方法(macOS)

    浅谈配置OpenCV3 + Python3的简易方法(macOS)

    下面小编就为大家分享一篇浅谈配置OpenCV3 + Python3的简易方法(macOS),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python if 判断语句详解

    Python if 判断语句详解

    这篇文章主要介绍了Python if 判断语句,包括流程控制,顺序结构和分支结构,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-11-11
  • Python中类似于jquery的pyquery库用法分析

    Python中类似于jquery的pyquery库用法分析

    这篇文章主要介绍了Python中类似于jquery的pyquery库用法,结合实例形式分析了pyquery库的概念、原理、使用方法及操作技巧,需要的朋友可以参考下
    2019-12-12
  • Python之inspect模块实现获取加载模块路径的方法

    Python之inspect模块实现获取加载模块路径的方法

    今天小编就为大家分享一篇Python之inspect模块实现获取加载模块路径的方法,具有很好的价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python区块链简易版交易完善挖矿奖励示例

    python区块链简易版交易完善挖矿奖励示例

    这篇文章主要介绍了python区块链简易版交易完善挖矿奖励示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • NumPy 数组使用大全

    NumPy 数组使用大全

    这篇文章主要介绍了NumPy 数组使用大全,在本教程中,你将学习如何在 NumPy 数组上以多种方式添加、删除、排序和操作元素。 文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • python 动态加载的实现方法

    python 动态加载的实现方法

    脚本语言都有一个优点,就是动态加载,python也有这个特性。这篇文章主要介绍了python 动态加载的实现方法,需要的朋友可以参考下
    2017-12-12
  • Python Tkinter GUI编程入门介绍

    Python Tkinter GUI编程入门介绍

    这篇文章主要介绍了Python Tkinter GUI编程入门介绍,本文讲解了Tkinter介绍、Tkinter的使用、Tkinter的几何管理器等内容,并给出了一个完整示例,需要的朋友可以参考下
    2015-03-03
  • python hbase读取数据发送kafka的方法

    python hbase读取数据发送kafka的方法

    今天小编就为大家分享一篇python hbase读取数据发送kafka的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12

最新评论