TensorboardX:如何在pytorch上画loss曲线图 | TensorboardX入门使用指南

本文介绍如何在PyTorch环境中利用TensorBoardX工具包绘制Loss变化曲线。通过安装TensorBoardX、编写及运行特定Python代码,可以在浏览器中直观地展示训练过程中的Loss变化趋势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

总览

TensorBoard绘制的一次实验的loss曲线图
TensorBoard绘制的九次实验的loss曲线图
实现以上功能,需要在Pytorch环境下安装TensorboardX工具包,并使用相应的代码,即可在网页页面中查看并分析loss曲线(还有许多其他功能。。。目前仅实践画loss曲线部分)

TensorboardX github链接

具体流程

1 安装TensorboardX工具包

pip install tensorboardX

根目录下会有TensorboardX文件夹:
在这里插入图片描述

2 编写代码

创建一个try.py文件,代码框架如下:

from tensorboardX import SummaryWriter

writer = SummaryWriter()

train_loss=[3.5, 2.0, 2.5, 2.0]
dev_loss=[3.0, 2.8, 2.5, 2.0]

for i in range(len(train_loss)):
    writer.add_scalars("loss",{"train":train_loss[i],"dev":dev_loss[i]},i+1)

writer.export_scalars_to_json("./loss.json")
writer.close()

其中,我将详细说明以下writer.add_scalars()函数:

writer.add_scalars()函数:
功能:在一个图表中记录多个标量的变化,常同于对比,如train loss 和 val loss的比较等。
参数:add_scalars(main_tag, tag_scalar_dict, global_step=None, walltime=None)
main_tag(string)为该图的标签;
tag_scalar_dict(dict)为绘制的曲线的数据,其中,key是变量的名称,value是变量的值;
global_step(int)为曲线图的横坐标
walltime(float)为event文件的文件名设置时间,默认为time.time()
以上参数在实际绘制的图像中,所对应的位置如下:
在这里插入图片描述
此外,如果只画一条曲线,有add_scalar()函数,还有更多功能如:直方图、多分位数折线图、网络结构拓扑图等,都有对应的函数,具体可参考博客

3 执行代码

  1. 执行上述代码,生成json文件
python try.py
  1. 在终端执行以下命令
tensorboard --logdir "./" --host 127.0.0.1

其中"./"为json文件所在目录(注意是目录,不包括文件名,如果该目录下包含多个json文件,会一起转化!)
执行后会显示以下内容,点击链接就可以在浏览器中查看loss图啦!
在这里插入图片描述
注意:json文件应当在tensorboardX根目录下,浏览器才能正确显示内容,如果json文件在tensorboardX文件夹外,或者在tensorboardX的子目录下,浏览器都会出现显示不出来、显示错误等问题。

要通过Pythonloss曲线,可以按照以下步骤进行操作: 1. 首先,导入所需的包,包括numpy和matplotlib.pyplot等。读取包含训练结果的txt文件,假设有两个模型的训练记录文件。 2. 根据文件中的数据,提取出训练步数和对应的loss值作为绘图的x和y坐标。 3. 创建一个图像对象和子图对象,用于绘制整体的loss曲线。 4. 使用绘图函数(如plot)出整体的loss曲线,并设置曲线的颜色、线型和标签等。 5. 可选地,添加图例、设置坐标轴标签和标题等。 6. 如果需要显示部分放大的曲线,可以使用inset_axes函数创建一个小图,并在小图中绘制放大区域的曲线。 7. 将绘制好的曲线保存为图片文件,可以使用savefig函数。 8. 最后,使用show函数显示图像。 以上就是通过Pythonloss曲线的方法,可以根据具体的需求和数据进行相应的调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [如何通过pythonloss曲线 & 点线颜色及点线型设置说明(超实用)](https://blog.csdn.net/weixin_40293250/article/details/107029595)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [如何通过pythonloss曲线的方法](https://download.csdn.net/download/weixin_38655682/12862294)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值