您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# PyTorch中怎么利用tensorboard创建SummaryWriter对象
## 引言
在深度学习模型训练过程中,可视化工具对于监控训练过程、分析模型性能至关重要。TensorBoard作为TensorFlow生态中的可视化工具,因其强大的功能被PyTorch通过`torch.utils.tensorboard`模块集成。本文将详细介绍如何在PyTorch中创建和使用`SummaryWriter`对象,实现训练日志的记录与可视化。
---
## 一、环境准备
### 1. 安装必要库
确保已安装以下Python包:
```bash
pip install torch torchvision tensorboard
import torch
from torch.utils.tensorboard import SummaryWriter
print("PyTorch版本:", torch.__version__)
writer = SummaryWriter()
默认会在当前目录生成runs/
文件夹存储日志文件。
writer = SummaryWriter(log_dir="my_experiment/logs")
writer = SummaryWriter(comment="_lr0.01_batch64")
文件名将自动追加注释(如Jul03-14-33-22_lr0.01_batch64
)。
for epoch in range(100):
loss = train(...)
writer.add_scalar('Loss/train', loss, epoch)
images = next(iter(dataloader))
writer.add_images('Training_samples', images, 0)
model = MyModel()
dummy_input = torch.rand(1, 3, 224, 224)
writer.add_graph(model, dummy_input)
for name, param in model.named_parameters():
writer.add_histogram(name, param, epoch)
# 实验1
writer1 = SummaryWriter(log_dir="exp1")
# 实验2
writer2 = SummaryWriter(log_dir="exp2")
writer.add_scalar('Loss/train', train_loss, epoch)
writer.add_scalar('Loss/val', val_loss, epoch)
hparams = {'lr': 0.01, 'batch_size': 32}
writer.add_hparams(hparams, {'hparam/accuracy': 0.9})
tensorboard --logdir=runs/
访问http://localhost:6006
查看可视化结果。
--port
指定端口logdir
路径是否包含日志文件import torch
from torch.utils.tensorboard import SummaryWriter
# 初始化
writer = SummaryWriter()
# 模拟训练过程
for epoch in range(100):
# 模拟损失和准确率
train_loss = 1.0 / (epoch + 1)
val_acc = epoch / 100.0
# 记录数据
writer.add_scalar('Loss/train', train_loss, epoch)
writer.add_scalar('Accuracy/val', val_acc, epoch)
# 记录模型参数
if epoch % 10 == 0:
for name, param in model.named_parameters():
writer.add_histogram(name, param, epoch)
writer.close()
with
语句或手动调用writer.close()
类别/名称
的层次化命名通过SummaryWriter
与TensorBoard的配合,PyTorch用户可以方便地实现训练过程可视化。本文介绍了从基础创建到高级应用的完整流程,掌握这些技巧将显著提升深度学习实验的效率和分析能力。建议读者在实际项目中结合具体需求灵活运用这些功能。
“`
文章包含: - 环境配置指导 - 核心API详解 - 6种常见数据记录方法 - 3项高级功能 - 完整可运行的代码示例 - 最佳实践建议 - 常见问题解决方案 - 层次化的Markdown结构 - 精确的代码格式化
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。