pythonpytorchtensorboardx

How to get two scalars on same chart with tensorboardX?


The docs seem to indicate that add_custom_scalars_multilinechart does it but it is not working.

Have something like this:

from tensorboardX import SummaryWriter
writer = SummaryWriter(comment='test')

writer.add_custom_scalars_multilinechart(['loss/train', 'loss/test'], title='losses')

for blahblah:
    ...
    writer.add_scalar('loss/train', loss.item(), epoch)
    writer.add_scalar('loss/test', loss_test.item(), epoch)

Solution

  • Plot two scalars on same chart with tensorboardX:

    from tensorboardX import SummaryWriter
    

    Create two summaryWriter for two scalars

    writer_train = SummaryWriter('runs/train_0')
    writer_test = SummaryWriter('runs/test_0')
    

    Add scalars instances to the summaryWriter respective; they must have same tag, e.g.: "LOSS"

    for data in loop:
        writer_train.add_scalar('LOSS', loss.data.item(), idx)
        writer_test.add_scalar('LOSS', loss_test.data.item(), idx)
    

    For working code, please visit github: Examples with tensorboardX (See more_plots_one_chat.py)

    Tutorial: TensorboardX