pytorch: PyTorch中 使用 Tensorboard

介绍

因为工作需要,改用pytorch。但如何将训练过程可视化成了大问题。听说pytorch代码中可以插入tensorboard代码,第一反应是居然可以这么玩。。

网络上PyTorch中使用tensorboard的方法有很多。但毕竟tensorboard不是PyTorch框架原生自带的,因此大多方法都只能支持部分功能。经过孙大佬的推荐,觉得使用tensorboardX应该是目前已知的最好方法了。

Usage

环境要求:

  • pytorch>=0.3.1

Install

pip install tensorboardX

调用方法

  1. 首先要import tensorboardX:

    from tensorboardX import SummaryWriter
  2. 直接往接口喂pytorch形式的tensor即可,so方便:

    writer.add_histogram('zz/x', x, epoch)
    
    writer.add_scalar('data/x', x, epoch)
    
    writer.add_scalars('data/scalar_group', {'x': x,
                                             'y': y,
                                             'loss': loss}, epoch)
    
    writer.add_text('zz/text', 'zz: this is epoch ' + str(epoch), epoch)
  3. 保存记录信息到.json文件里:

    writer.export_scalars_to_json("./test.json")
  4. 及时关闭writer:

    writer.close()

Sample code

import torch
from tensorboardX import SummaryWriter

writer = SummaryWriter()
x = torch.FloatTensor([100])
y = torch.FloatTensor([500])

for epoch in range(100):
    x /= 1.5
    y /= 1.5
    loss = y - x
    print(loss)
    writer.add_histogram('zz/x', x, epoch)
    writer.add_histogram('zz/y', y, epoch)
    writer.add_scalar('data/x', x, epoch)
    writer.add_scalar('data/y', y, epoch)
    writer.add_scalar('data/loss', loss, epoch)
    writer.add_scalars('data/scalar_group', {'x': x,
                                             'y': y,
                                             'loss': loss}, epoch)
    writer.add_text('zz/text', 'zz: this is epoch ' + str(epoch), epoch)

# export scalar data to JSON for external processing
writer.export_scalars_to_json("./test.json")
writer.close()

Demo

这里写图片描述

这里写图片描述


[1] tensorboardX开源项目:lanpa/tensorboard-pytorch

  • 7
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值