- 安装tensorboard和torch包
pip install tensorboard torch
- 导入必要的库:
from torch.utils.tensorboard import SummaryWriter
- 在训练代码中创建一个SummaryWriter实例。这将用于将数据写入TensorBoard。也可以指定一个目录,用于存储所有的日志文件:
writer = SummaryWriter('runs/experiment_name')
将'runs/experiment_name'替换为你想要保存日志的目录。多次运行实验时,可以更改实验名称以便在TensorBoard中区分不同的运行。
- 使用
SummaryWriter的方法记录所需的数据。例如,可以记录标量(如损失值和准确率)、图像、直方图等。以下是一些常用方法:
- add_scalar(tag, scalar_value, global_step): 记录标量值。
- add_image(tag, img_tensor, global_step): 记录图像。
- add_histogram(tag, values, global_step): 记录直方图。
在训练循环中添加这些方法,例如:
for epoch in range(num_epochs):
for batch_idx, (data, targets) in enumerate(train_loader):
# Train model...
# Calculate loss and accuracy...
writer.add_scalar('Loss/train', loss, global_step)
writer.add_scalar('Accuracy/train', accuracy, global_step)
global_step += 1
- 在训练完成后,关闭 SummaryWriter:
writer.close()
- 启动TensorBoard。在命令行中,切换到包含 runs目录的路径,然后运行以下命令:
tensorboard --logdir runs
命令将在默认端口(6006)上启动TensorBoard。在浏览器中访问http://localhost:6006,你将看到TensorBoard界面,其中包含你在训练过程中记录的所有数据。
这就是在PyTorch项目中使用TensorBoard即可实现实时监控和可视化训练过程。
对了,如果要在本地查看:
通过这个命令与远程服务器设置端口转发,在本地查看。
ssh -L local_port:localhost:remote_port user@remote_ip
如果用了跳板机,就再加一个-p 加对应的端口号
例如:跳板机是66656
ssh -L 6006:localhost:6006 -p 66656 user1@192.168.1.100
以上。