pytorch数据可视化(tensorboard的安装和使用)

根据《深入浅出pytorch》一书中的实例进行了修改和总结

Tensorboard简介

tensorboard是一个数据可视化工具,能够展示深度学习过程中张量的变化。可视化的内容可以包括:模型训练过程中的损失、张量的分布直方图、训练过程中输出的图片和音频数据等。

Tensorboard安装

pip install tensorboard

【注意:tensorboard版本号要和tensorflow版本匹配,具体的匹配规则不太清楚,以下给出我的版本号】
在这里插入图片描述

使用方法

以线性模型的训练为例,以下为完整代码:

from sklearn.datasets import load_boston
from torch.utils.tensorboard import SummaryWriter
import torch
import torch.nn as nn

boston = load_boston()
lm = nn.Linear(13, 1)
criterion = nn.MSELoss()
optim = torch.optim.SGD(lm.parameters(), lr=1e-6)
data = torch.tensor(boston['data'], requires_grad=True, dtype=torch.float32)
target = torch.tensor(boston['target'], dtype=torch.float32)

writer = SummaryWriter()

for step in range(10000):
    predict = lm(data)
    loss = criterion(predict, target)

    writer.add_scalar("loss/train", loss, step)
    if step and step % 1000:
        print("Loss : {:.3f}".format(loss.item()))

    optim.zero_grad()
    loss.backward()
    optim.step()

通过调用SummaryWriter()函数,构造了一个摘要写入器writer,之后就可以添加需要写入摘要的张量信息。比如:上面的代码通过writer.add_scalar()函数添加了训练过程中的损失,除此之外,还可以添加distributions, histograms等,操作跟添加loss信息类似,只是换了个函数,具体可以参考官方文档。

写好以上代码后,可以通过以下三步完成可视化:

  1. 运行该代码
    运行成功后,可以看到当前目录下多了一个文件夹runs,其中记录的就是你添加的需要写入摘要的信息。
    如果此处运行失败,可以考虑两个方面的原因:
    (1) tensorboard和tensorflow的版本是否匹配
    (2) 如果出现AttributeError: module ‘tensorflow‘ has no attribute 'io’的问题,则可以尝试通过pip install tensorflow-io安装tensorflow-io,之后再运行程序。

  2. 在当前目录下,执行 tensorboard --logdir=runs 命令,即可看到以下页面:
    在这里插入图片描述

  3. 打开浏览器,输入http://localhost:6006,可以看到如下界面,展示了训练过程中的loss变化。
    在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
使用PyTorch可视化TensorBoard的步骤如下: 1. 安装TensorBoard ``` pip install tensorboard ``` 2. 在PyTorch中创建SummaryWriter对象 ```python from torch.utils.tensorboard import SummaryWriter # 创建SummaryWriter对象 writer = SummaryWriter('runs/experiment_name') ``` 其中,`experiment_name`为实验名称,可以自定义。这里通过`runs`目录来存储实验数据。 3. 在训练或验证的过程中添加可视化代码 在代码中使用`writer.add_scalar()`方法来添加可视化代码,方法的参数包括要可视化的变量名、变量值和步数。例如: ```python # 添加训练损失 writer.add_scalar('Train/Loss', loss.item(), step) # 添加验证准确率 writer.add_scalar('Validation/Accuracy', accuracy, step) ``` 4. 启动TensorBoard 在命令行中使用以下命令启动TensorBoard: ``` tensorboard --logdir runs ``` 其中,`--logdir`参数指定实验数据所在的目录。在上面的代码中,我们将实验数据保存在`runs`目录下。 5. 在浏览器中查看可视化结果 在浏览器中输入以下地址查看TensorBoard可视化结果: ``` http://localhost:6006/ ``` 这里是一个可视化变量曲线的代码示例: ```python import torch from torch.utils.tensorboard import SummaryWriter # 创建SummaryWriter对象 writer = SummaryWriter('runs/experiment_name') # 创建模拟数据 x = torch.linspace(-5, 5, 100) y = torch.sin(x) # 可视化曲线 for i in range(100): writer.add_scalar('Sin(x)', y[i], i) # 关闭SummaryWriter对象 writer.close() ``` 这段代码将生成一条正弦曲线,并将其可视化在TensorBoard中。在TensorBoard中,我们可以选择`Scalars`选项卡来查看变量曲线。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值