[深度学习 - 技巧] tensorboard实时查看损失和权重的变化

本文详细介绍了如何在PyTorch环境中安装和使用TensorBoard,包括设置保存数据日志、绘制关键指标图表,并演示了如何在本地和服务器上实时查看训练进度。重点讲解了loss曲线和权重分布的可视化,以及如何通过实例分析模型性能。

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

tensorboard

1. 安装tensorboard

如果有安装tensorflow的话,应该会默认安装对应版本的tensorboard。
因为我这边开发环境用的pytorch,所以没有安装tensorboard。
可以通过pip安装。
pip install tensorboard

2. 代码块

在自己的代码模块中添加这一块内容,我这里写的是每个epoch保存一次数据,当然数据量大,模型跑一个epoch慢的时候,可以自己选择n个batch保存一次。然后模型运行时候就会在目录中logs下生成一个log1目录,来保存模型训练的数据日志。

from torch.utils.tensorboard import SummaryWriter

summaryWriter = SummaryWriter("logs/log1")

for epoch in range(epochs):
    for data in data_loader:
    	# 训练代码块。
    	pass
	
	
    # 画折线图-----loss曲线
    summaryWriter.add_scalars("loss", {"total_loss": total}, iteration)
    # 画柱状图-----权重分布
    layer_weight = net.module.net.prediction_layers[0].weight
    summaryWriter.add_histogram("mask_layer_weight", mask_layer_weight, iteration)

3. 本地运行,实时查看

在命令行中进入到文件logs目录下输入:tensorboard --logdir=log1 --port=6006

logdir: 指定代码生成的那个目录。
port:指定访问的端口号,利用这个端口号可以实时查看数据的变化。

输入完如果成功运行会显示:TensorBoard 2.4.0 at http://localhost:6006/ (Press CTRL+C to quit) 就可以通过http://localhost:6006/查看数据的变化了。

4. 服务器上运行,本地实时查看(Xshell)

在Xshell属性上,SSH->隧道上添加转移,就可以在本地是查看http://localhost:6006/
监听

5. 可视化

这里我拿了我训练yolact++的log日志。
由于训练损失降得比较慢,而且到后面损失开始出现了较大幅度的震荡,所以我自己设置了多个节点让他学习率减半,可以看到学习率减半的节点处会有明显的下降趋势。

以及输出层的权重分布,权重如果是顶峰趋向越来越尖就是正常的。(损失和权重我认为是分析模型比较重要的两个点,你如果想看其他数据的变化,也可以用不同的可视化工具,具体可以查看官方的文档,还可以看网络结构图。https://tensorflow.google.cn/tensorboard/get_started

在这里插入图片描述

权重分布

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值