完整参见
https://www.pytorchtutorial.com/pytorch-builtin-tensorboard/
记录 Scalars
我们常用的 loss、accuracy 等都是数值,我们在 Tensorboard 中记录数值的方法也很简单:
1
add_scalar(tag, scalar_value, global_step=None, walltime=None)
其中 tag 是这个常数值所属的标签(比如 training_loss 等)。常用的一个方法是将 tag 值设置为 section/plot 的格式,这样 Tensorboard 会按照 section 来给结果分组(下面有例子)。
global_step 是一个整数,通常是曲线图里的 x 轴,如果不设置则默认一直为 0。注意这里是不存在覆盖的,就是对于同一个 global_step 值,新的值不会覆盖旧的值,而是会同时画到图上。
walltime 就是记录的时间戳,默认是系统当前时间 time.time()。
对于 Fashion-MNIST 数据集,我们主要记录 Training 和 Testing 的 loss,以及 Testing Accuracy:
# Record training loss from each epoch into the writer
writer.add_scalar(\\'Train/Loss\\', loss.item(), epoch)
writer.flush()
# Record loss and accuracy from the test run into the writer
writer.add_scalar(\\'Test/Loss\\', test_loss, epoch)
writer.add_scalar(\\'Test/Accuracy\\', accuracy, epoch)
writer.flush()