#tensorboard的使用
'''
tensorboard的使用逻辑:
•将代码运行过程中的,某些你关心的数据保存在一个文件夹中,这一步由writer完成
•读取这个文件夹中的数据,用浏览器显示出来,这一步通过在命令行运行tensorboard完成
'''
#【1】不同文件夹,相同tag -》绘制结果在同一张图
# 训练损失(训练损失+测试损失)的变化
import shutil
removeLog = 1
# 如果单个文件夹有多个文件,tensorboard会显示多个文件结果
if os.path.exists('./log') and removeLog:
shutil.rmtree('./log')
writer1 = SummaryWriter(log_dir = './log/trainLoss') # 实例化writer
# 测试损失(训练损失+测试损失)的变化
writer2 = SummaryWriter(log_dir = './log/evalLoss') # 实例化writer
for epoch in range(1000):
loss = torch.tensor(epoch)
# tag指定可视化时这个变量的名字,scalar_value是要存储的值,global_step理解为x轴坐标
# 一个tag就是一个图
writer1.add_scalar(tag = 'loss', scalar_value=loss, global_step=epoch)
writer2.add_scalar(tag = 'loss', scalar_value=loss+100, global_step=epoch)
#【2】同文件夹,不同tag-》绘制结果在不同的图
writer1.add_scalar(tag = 'gradMean',scalar_value=loss, global_step=epoch)
writer1.close()
writer2.close()