Tensorboard的使用(一)writer.add_scalar(),SummaryWriter()

1、相关知识

环境与版本

  • win10系统
  • torch --> 1.8.0
  • tensorboard -->2.4.1

writer.add_scalar()

解释:

 

二、实例展示-绘制y=2x 

1、打开pycharm,选择环境

操作如下图,选择包含pytorch的环境

 

 

 

2、输入以下代码

from torch.utils.tensorboard import SummaryWriter

#生成一个写日志的writer,并将当前的计算图写入日志,生成的文件在当前文件夹下
writer = SummaryWriter(log_dir="runs/flower_experiment")


for i in range(100):
    writer.add_scalar(''y=2x'', i*2, i)

writer.close()
SummaryWriter(log_dir="runs/flower_experiment")
  • 使用SummaryWriter()创建events,自动生成文件夹名称为runs/flower_experiment文件夹及events名称
 

运行

 2、查看tensorboard界面

在pycharm中terminal终端输入

tensorboard --logdir=runs/flower_experiment

 

  • logdir = 事件文件所在文件夹名

出现问题:tensorboard 界面没有显示代码描述图像

事件文件夹也生成了,但不知道为什么读不出来

后来发现是标点符号错误

只需做如下修改

对,改为单引号即可

然后重复2-3步骤得到如下结果

3、其他技巧

  •   修改端口

 

 

  • 6
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: writer.add_scalar是TensorBoardX中的一个函数,用于将标量数据写入TensorBoard的事件文件中。它的使用方法如下: 1. 导入TensorBoardX库 ``` from tensorboardX import SummaryWriter ``` 2. 创建一个SummaryWriter对象 ``` writer = SummaryWriter(log_dir='logs') ``` 其中,log_dir参数指定TensorBoard事件文件的保存路径。 3. 使用writer.add_scalar函数将标量数据写入事件文件 ``` writer.add_scalar(tag='loss', scalar_value=.5, global_step=1) ``` 其中,tag参数指定标量数据的名称,scalar_value参数指定标量数据的值,global_step参数指定标量数据的步数。 4. 关闭SummaryWriter对象 ``` writer.close() ``` 这样就完成了将标量数据写入TensorBoard事件文件的过程。可以通过TensorBoard查看事件文件中的标量数据。 ### 回答2: writer.add_scalar是PyTorch中的一种记录方法,用于记录单个标量值和整个时间序列。它可以通过TensorBoard这个可视化工具,将数据以图形方式呈现出来,便于我们观察和比较数据。 使用writer.add_scalar的语法格式如下:writer.add_scalar(tag, scalar_value, global_step=None, walltime=None) 其中,tag是数据的标签,scalar_value是要记录的数据值,global_step是一个可选参数,它提供了记录数据的时间,为整数类型,默认值为None。如果在记录下一个数据时,传递的global_step和上一个数据的global_step之间存在差值,那么这两个数据将被视为时间序列中的连续数据,通过TensorBoard进行可视化时,将以时间序列的方式呈现出来。walltime这个参数也是一个可选参数,如果指定了walltime,那么就会根据这个时间戳来记录数据。 一般而言,writer的创建和使用,我们需要遵循以下的步骤: 1. 创建一个writer对象,它用来记录所需的数据:from torch.utils.tensorboard import SummaryWriter writer = SummaryWriter() 2. 调用writer.add_scalar方法,开始记录数据: writer.add_scalar('train_loss', train_loss, epoch) writer.add_scalar('train_acc', train_acc, epoch) writer.add_scalar('test_loss', test_loss, epoch) writer.add_scalar('test_acc', test_acc, epoch) 在上述代码中,我们依次记录了训练损失、训练精度、测试损失和测试精度。使用的时候需要注意tag的不同,以保证图像的正确的绘制。 最后,需要运行命令tensorboard --logdir=runs打开TensorBoard可视化工具,可以看到我们记录的各项数据的变化情况。简单来说,writer.add_scalar可以记录单个标量值和整个时间序列,用于调试和可视化的过程中,是非常有用的工具。 ### 回答3: writer.add_scalar是PyTorch中一个用于记录实验结果的函数,通常用于可视化训练过程中的损失和准确率等信息。这个函数可以让我们方便地记录训练或验证过程中某一个标量量的取值,并将这些取值展示在TensorBoard中,从而直观地观察模型的学习过程。 该函数的函数签名如下: ``` writer.add_scalar(tag, scalar_value, global_step=None, walltime=None) ``` 其中,tag表示要记录值的名称,scalar_value表示该值的数值,global_step表示当前的训练步数(可选,若提供则展示在x轴上),walltime表示此次记录的时间(可选,展示在横轴上),若不指定,将自动使用当前系统时间。 使用该函数需要先初始化一个SummaryWriter变量,如下: ``` from torch.utils.tensorboard import SummaryWriter # 创建一个SummaryWriter对象,指定日志的保存路径 writer = SummaryWriter(log_dir='logs') ``` 即可开始使用add_scalar函数。例如,记录训练集的loss,验证集的loss和验证集的准确率,代码如下: ``` for epoch in range(epochs): # train loop... train_loss = ... # validation loop... val_loss = ... val_accuracy = ... # 将指定变量添加到TensorBoard中,分别设置tag为'train/loss'、'val/loss'和'val/accuracy' writer.add_scalar('train/loss', train_loss, epoch) writer.add_scalar('val/loss', val_loss, epoch) writer.add_scalar('val/accuracy', val_accuracy, epoch) ``` 添加完成后,可以在TensorBoard中查看这些变量随时间的变化趋势,以及它们之间的关系。TensorBoard是一个强大的工具,可以帮助我们更直观地了解模型的表现,从而帮助我们更快地调试和优化模型。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值