在PyTorch中使用tensorboard可视化

深度学习使用过tensorflow的同学可能都使用过tensorboardtensorflow这么火有一方面是因为tensorboard这一高级的可视化的工具,目前除了tensorflow之外还没有哪个深度学习库开发出了一套完美的可视化工具,如果不使用tensorboard,你想可视化训练流程,那么你只能自己保存变量,自己画曲线,用起来还是很不方便的。

有很多使用别的深度学习框架的人在研究如何将tensorboard可视化移植到他们所使用的框架中来,也有很多成功的例子,接下来我们分析一下目前流行的几种方法。

1.使用Crayon实现tensorboard可视化


Crayon是一个支持任何语言使用tensorboard的框架,它的说明文档访问下面的网址,目前他只支持PythonLua,而且安装过程比较麻烦,需要docker,不推荐使用此方法。

2.使用tensorboard_logger实现tensorboard可视化


tensorboard_logger是由TeamHG-Memex开发的使用tensorboard的库,可以访问文档界面,安装也略微有点繁琐,需要安装tensorflow和他们开发的tensorboard_logger,安装完成之后按照文档的使用说明就可以使用tensorboard了。

3.导入一个脚本实现tensorboard可视化

--

这个办法是我认为最简单的办法,也是我目前使用的办法,只需要安装cpu版的tensorflow,通过pip install tensorflow就能够很快安装上,然后只需要复制这个网址里面的代码到你的项目文件目录,新建一个logger.py的文件,将代码复制进去就ok了。

然后在你的python文件里面输入from logger import Logger,然后在训练之前定义好想存放tensorboard文件的文件夹,logger = Logger('./logs')这里可以使用任何文件夹存放tensorboard文件。

然后在训练过程中可以通过下面的方式记录想要记录的变量

# (1) Log the scalar values
info = {
    'loss': loss.data[0],
    'accuracy': accuracy.data[0]
}

for tag, value in info.items():
    logger.scalar_summary(tag, value, step)

# (2) Log values and gradients of the parameters (histogram)
for tag, value in model.named_parameters():
    tag = tag.replace('.', '/')
    logger.histo_summary(tag, to_np(value), step)
    logger.histo_summary(tag+'/grad', to_np(value.grad), step)

# (3) Log the images
info = {
    'images': to_np(img.view(-1, 28, 28)[:10])
}

for tag, images in info.items():
    logger.image_summary(tag, images, step)

这样我们就将我们需要的变量放入tensorborad中,然后我们在当前目录下输入tensorbard --logdir='./logs',这里需要输入自己的文件夹名称,我的文件夹之前定义为了logs,然后你就能看到如下界面:

tensorboard

在浏览器中输入http://0.0.0.0:6006/,你就能够进到tensorboard界面,如下图所示:

pytorch使用tensorboard可视化

pytorch使用tensorboard可视化

pytorch使用tensorboard可视化

这样就能够成功地在PyTorch中使用tensorboard可视化,大家学习起来也更加直观简便了。


原创文章,转载请注明 :在PyTorch中使用tensorboard可视化 - pytorch中文网
原文出处: https://ptorch.com/news/18.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值