tensorboardX可视化(pytorch)

tensorboardX可视化(pytorch)

一、使用 tensorboardX

1、python 安装方法

pip install tensorboard
pip install tensorflow
pip install tensorboardX

2、使用tensorboardX中的SummaryWriter

下面详细介绍 SummaryWriter 实例的各种数据记录方法,并提供相应的示例供参考。

(1)三种实例化SummaryWriter的方法

from tensorboardX import SummaryWriter

# Creates writer1 object.
# The log will be saved in 'runs/exp'
writer1 = SummaryWriter('runs/exp')

# Creates writer2 object with auto generated file name
# The log directory will be something like 'runs/Aug20-17-20-33'
writer2 = SummaryWriter()

# Creates writer3 object with auto generated file name, the comment will be appended to the filename.
# The log directory will be something like 'runs/Aug20-17-20-33-resnet'
writer3 = SummaryWriter(comment='resnet')

以上展示了三种初始化 SummaryWriter 的方法:
1、提供一个路径,将使用该路径来保存日志/2、无参数,默认将使用 runs/日期时间 路径来保存日志
3、提供一个 comment 参数,将使用 runs/日期时间-comment 路径来保存日志

(2)使用各种 add 方法记录数据

使用 add_scalar 方法来记录数字常量。

add_scalar(tag, scalar_value, global_step=None, walltime=None)

参数含义:
tag (string): 数据名称,不同名称的数据使用不同曲线展示
scalar_value (float): 数字常量值
global_step (int, optional): 训练的 step
walltime (float, optional): 记录发生的时间,默认为time.time()
需要注意,这里的scalar_value一定是 float 类型,如果是 PyTorch scalar tensor,则需要调用.item()方法获取其数值。我们一般会使用 add_scalar 方法来记录训练过程的 loss、accuracy、learning rate 等数值的变化,直观地监控训练过程。

(3)在浏览器中查看可视化结果(cmd启动tensorboardX)

一般来讲,我们对于每次实验新建一个路径不同的 SummaryWriter,也叫一个 run,如 runs/exp1、runs/exp2。接下来,我们就可以调用 SummaryWriter 实例的各种 add_something 方法向日志中写入不同类型的数据了。想要在浏览器中查看可视化这些数据,只要在命令行中开启 tensorboard 即可:tensorboard --logdir=Path
其中的 Path既可以是单个 run 的路径,如上面 writer1 生成的runs/exp;也可以是多个 run 的父目录,如 runs/ 下面可能会有很多的子文件夹,每个文件夹都代表了一次实验,我们令tensorboard–logdir=runs/ 就可以在 tensorboard 可视化界面中方便地横向比较 runs/ 下不同次实验所得数据的差异。

**

3、pytorch中调用——保存模型结构运行图 (graph)

import torch
import torch.nn as nn
from tensorboardX import SummaryWriter
class model(nn.Module):
 .........
 
input = torch.rand(13, 1, 28, 28)  #假设输入13张1*28*28的图片
model = model()
with SummaryWriter(log_dir='logs', comment='Net') as w:
    w.add_graph(model, (input, ))

然后在本代码文件下就会出现一个logs文件,然后在打开Anconda中的prompt文件,然后输入,输入格式为:

tensorboard --logdir=‘文件绝对路径’ tensorboard
–logdir=“D:\Pytorch深度学习入门\biLSTM_attn-master\logs”

复制出现的链接,然后在浏览器中打开:
tensorboardX可视化(pytorch)_第1张图片

4、可视化损失函数

writer = SummaryWriter(log_dir='logs', comment='Linear')

for epoch in range(1, epochs+1):
    epoch_start_time = time.time()
    loss = train()
    
    loss, corrects, acc, size = evaluate()
    writer.add_scalar("训练损失值", loss, epoch)
    writer.add_scalar("分类准确率", acc, epoch)

在cmd输入下面内容,然后在浏览器中打开:

tensorboard --logdir="D:\Pytorch深度学习入门\biLSTM_attn-master\logs"

tensorboardX可视化(pytorch)_第2张图片

你可能感兴趣的:(深度学习,可视化,python)