Pytorch训练过程可视化

本文介绍了如何在PyTorch中利用TensorBoardX进行训练过程的可视化,包括绘制曲线图和显示图片。首先,需要安装TensorBoardX及相关依赖,然后通过SummaryWriter记录数据。例如,可以创建一个简单的曲线图,并保存图片到日志目录。最后,启动TensorBoard服务查看可视化结果。这有助于理解和优化模型训练。

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

Pytorch训练过程可视化

图表的世界充满了魔法,一条曲线可以瞬间揭示数据内容的情况,激发想象力,让事情变得更有说服力

TensorBoard

TensorBoard是TensorFlow提供的一组可视化工具(A Suite of Visualization Tools),可以帮助开发者理解、调试和优化TensorFlow程序,作为一款优秀的可视化组件,自然会被其他框架借用和引进。在PyTorch中也能通过TensorBoardX组件使用这一款可视化工具,TensorBoradX组件支持scalar、image、figure、histogram、audio、text、graph、onnx_graph、embedding、pr_curve和videosummaries等不同的可视化展示方式。
安装TensorBoardX组件

pip install tensorboardX
pip install tensorflow
pip install Tensorboard_logger

TensorBoard通过读取日志文件进行可视化,使用时需要引入SummaryWriter

from tensorboardX import SummaryWriter
writer=SummaryWriter()

python代码,展示曲线图

from tensorboardX import SummaryWriter
writer=SummaryWriter("logs")
for i in range(100):
    writer.add_scalar("y=x",i,i)
writer.close()

启动TensorBoard服务

$ tensorboard --host 127.0.0.1 --logdir=logs --port=6007

python代码,展示图片

from tensorboardX import SummaryWriter
import numpy as np
from PIL import Image

writer = SummaryWriter("logs")
image_path = "dataset/train/ants_image/0013035.jpg"
img_PIL = Image.open(image_path)
img_array = np.array(img_PIL)
writer.add_image("test", img_array, 1, dataformats='HWC')
writer.close()
### 实现 PyTorch 训练过程可视化 为了实现 PyTorch 模型训练过程的监控,`TensorBoard` 是一种非常有效的工具。尽管 `TensorBoard` 原本是为 TensorFlow 设计的,但借助于 `TensorBoardX` 或者直接利用 PyTorch 自带的支持,同样可以在 PyTorch 项目中集成这一强大的可视化工具。 #### 安装必要的库 首先需要安装 `torch.utils.tensorboard` 或者 `tensorboardX` 库来支持 TensorBoard 功能: ```bash pip install tensorboard torch-tb-profiler # 或者对于旧版本 PyTorch 可能需要使用 tensorboardX pip install tensorboardX ``` #### 初始化 SummaryWriter 对象 在代码中引入 `SummaryWriter` 来创建一个新的日志文件夹用于存储所有的事件文件: ```python from torch.utils.tensorboard import SummaryWriter writer = SummaryWriter('runs/experiment_1') ``` 这段代码会创建一个名为 `experiment_1` 的目录保存所有与本次实验有关的日志信息[^2]。 #### 添加标量数据至 TensorBoard 每当完成一次迭代或 epoch 后,可以通过调用 `add_scalar()` 方法向 TensorBoard 发送重要指标的数据点,比如损失值、准确度等: ```python for n_iter in range(100): writer.add_scalar('Loss/train', scalar_value=loss.item(), global_step=n_iter) writer.add_scalar('Accuracy/train', scalar_value=accuracy, global_step=n_iter) # 如果有验证集的话也可以这样做 writer.add_scalar('Loss/validation', val_loss.item(), epoch) writer.add_scalar('Accuracy/validation', val_accuracy, epoch) ``` 上述例子展示了如何定期更新训练和验证阶段的表现指标给 TensorBoard[^1]。 #### 查看结果 启动 TensorBoard 并指定之前定义的日志路径即可浏览记录下的统计数据图表和其他有用的信息: ```bash tensorboard --logdir=runs ``` 打开浏览器访问 http://localhost:6006 即可看到实时更新的结果页面[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值