writer.add_scalar
时间: 2024-12-29 08:32:54 浏览: 2
`writer.add_scalar` 是 `torch.utils.tensorboard.SummaryWriter` 类中的一个关键方法,用于将单个标量值添加到 TensorBoard 日志中。这个方法的调用通常发生在深度学习训练过程中的每个迭代周期结束后,以可视化训练性能指标。它的基本语法如下:
```python
writer.add_scalar(tag, scalar_value, global_step=None, walltime=None)
```
参数说明:
- `tag`: 你想要在 TensorBoard 中显示的数据标签,通常是度量名,如 "loss" 或 "accuracy"。
- `scalar_value`: 要记录的实际数值,可以是训练损失、精度或其他标量。
- `global_step`: 训练的步数,表示数据点与训练进程的时间线对应关系,通常递增。如果不指定,默认使用 `writer.global_step` 的当前值。
- `walltime`: 如果提供,该时间戳将在 TensorBoard 中显示数据的到达时间。
例如,在PyTorch中,你可以这样使用它来跟踪并可视化训练过程中的某个指标:
```python
from torch.utils.tensorboard import SummaryWriter
# 创建一个SummaryWriter实例
writer = SummaryWriter()
for epoch in range(num_epochs):
for batch in dataloader:
# 训练...
loss = calculate_loss(model, data)
# 在每个批次后添加损失值到 TensorBoard
writer.add_scalar('Loss/Batch', loss, global_step=epoch * len(dataloader) + batch_idx)
# 结束训练时关闭writer
writer.close()
```
这会在每次迭代后,将对应的损失值添加到名为 "Loss/Batch" 的图表上,方便查看训练进度。
阅读全文