栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

tensorboardX详解

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

tensorboardX详解

tensorboardX介绍

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

tensorboardx依赖于tensorboard和ternsorflow
tensorflow依赖于tensorboard

安装

pip install tensorboardX

创建SummaryWriter实例

以下展示了三种初始化 SummaryWriter 的方法

1.提供一个路径 将使用该路径来保存日志

代码

from tensorboardX import SummaryWriter
writer SummaryWriter( runs/another_scalar_example/11 )

目录结构

2.无参数 默认将使用 runs/日期时间 路径来保存日志

代码

from tensorboardX import SummaryWriter
writer SummaryWriter()

目录结构

3.提供一个 comment 参数 将使用 runs/日期时间-comment 路径来保存日志

代码

from tensorboardX import SummaryWriter
writer SummaryWriter(comment abc )

目录结构

接下来 我们就可以调用 SummaryWriter 实例的各种 add_something 方法向日志中写入不同类型的数据了。

各种add方法使用 add_scalar 方法各参数介绍
add_scalar(tag, scalar_value, global_step None, walltime None)
tag (string): 数据名称 不同名称的数据使用不同曲线展示scalar_value (float): 数字常量值global_step (int, optional): 训练的 stepwalltime (float, optional): 记录发生的时间 默认为 time.time() 举例

1.例子1
代码

from tensorboardX import SummaryWriter
writer SummaryWriter()
for i in range(10):
 writer.add_scalar( quadratic , i**2, global_step i)
 writer.add_scalar( exponential , 2**i, global_step i)

在浏览器可视化界面中效果如下

不同名称的数据使用不同曲线展示

2.例子2
代码

from tensorboardX import SummaryWriter
writer SummaryWriter()
for i in range(10):
 writer.add_scalar( quadratic , i**2, global_step i)
 writer.add_scalar( quadratic , i**4, global_step i)

在浏览器可视化界面中效果如下

本质过程就是描点 然后用直线按照描点顺序把各点链接起来

再例如
代码

from tensorboardX import SummaryWriter
writer SummaryWriter()
for i in range(10):
 writer.add_scalar( quadratic , i, global_step i)
 writer.add_scalar( quadratic , i**2, global_step i)
for i in range(10):
 writer.add_scalar( quadratic , -i**3, global_step i)

在浏览器可视化界面中效果如下

3.例子3
第一次执行程序代码

from tensorboardX import SummaryWriter
writer SummaryWriter( runs/exp )
for i in range(10):
 writer.add_scalar( quadratic , i**2, global_step i)

第二次执行程序代码 第二次执行不删除第一次生成的目录文件夹

from tensorboardX import SummaryWriter
writer SummaryWriter( runs/exp )
for i in range(10):
 writer.add_scalar( quadratic , -i**2, global_step i)

最终的目录结构

在浏览器可视化界面中效果如下

要启动tensorboard 必须指定它的logdir 默认为runs : tensorboard会在你指定的这个log-dir里面做路径搜索 寻找所有的events文件以及子文件夹中的events文件。在同一个目录下的两个events文件 数据名称相同 最终可视化结果是两个阶段的描点按照顺序的组合。也就是第一阶段最后一个点和第二阶段第一个点也有直线连接。

4.例子4
目录结构

在浏览器可视化界面中效果如下

tensorboard会在你指定的这个log-dir里面做路径搜索 寻找所有的events文件以及子文件夹中的events文件。路径相同的events文件可视化的图形线条颜色一样,如果文件路径不同但是数据名称相同 则会被用不同线条颜色画到同一个图里面。

add_graph

使用 add_graph 方法来可视化一个神经网络。

参数介绍
add_graph(model, input_to_model None, verbose False, **kwargs)
model (torch.nn.Module): 待可视化的网络模型input_to_model (torch.Tensor or list of torch.Tensor, optional): 待输入神经网络的变量或一组变量。输入的是一个元组 且各变量的维度一定要满足网络的实际输入需求 因为网络的输入变量个数大于等于1.
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/268144.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号