tensorboard hyperparameters don't update
🐛 Bug
Given two sets of HPARAMS, h_1 and h_2 where h_1 is a strict subset of h_2.

If you run pytorch lightning with parameters h_1, then h_2, the additional parameters from h_2 are not shown in tensorboard
If you run pytorch lightning with parameters h_2, then h_1, the missing parameters from h_1 are shown empty in tensorboard

Case 2 is fine, Case 1 is not.
I already issued this at tensorboard  but was directed back here again.
To Reproduce

Run code
start tensorboard --logdir=lightning_logs in same directory
Go to HPARAMS in website
See only layer_1_dim


Code sample
import pytorch_lightning as pl
from argparse import ArgumentParser
import torch

class LitMNIST(pl.LightningModule):
    def __init__(self, hparams):
        super(LitMNIST, self).__init__()
        self.hparams = hparams
        self.layer_1 = torch.nn.Linear(28 * 28, self.hparams.layer_1_dim)

    def forward(self, *args, **kwargs):
        pass



if __name__ == '__main__':
    parser = ArgumentParser()
    parser.add_argument('--layer_1_dim', type=int, default=10)
    args = parser.parse_args()

    # print(args)
    ## > Namespace(layer_1_dim=10)
    model = LitMNIST(hparams=args)
    trainer = pl.Trainer()
    try:
        trainer.fit(model)
    except:
        pass

    parser = ArgumentParser()
    parser.add_argument('--layer_1_dim', type=int, default=10)
    parser.add_argument('--another_hyperparameter', type=int, default=10)
    args = parser.parse_args()

    # print(args)
    ## > Namespace(another_hyperparameter=10, layer_1_dim=10)
    model = LitMNIST(hparams=args)
    trainer = pl.Trainer()
    try:
        trainer.fit(model)
    except:
        pass
Change that "solves" the problem: First call net with both parameters
import pytorch_lightning as pl
from argparse import ArgumentParser
import torch

class LitMNIST(pl.LightningModule):
    def __init__(self, hparams):
        super(LitMNIST, self).__init__()
        self.hparams = hparams
        self.layer_1 = torch.nn.Linear(28 * 28, self.hparams.layer_1_dim)

    def forward(self, *args, **kwargs):
        pass



if __name__ == '__main__':
    parser = ArgumentParser()
    parser.add_argument('--layer_1_dim', type=int, default=10)
    parser.add_argument('--another_hyperparameter', type=int, default=10)
    args = parser.parse_args()

    # print(args)
    ## > Namespace(another_hyperparameter=10, layer_1_dim=10)
    model = LitMNIST(hparams=args)
    trainer = pl.Trainer()
    try:
        trainer.fit(model)
    except:
        pass


    parser = ArgumentParser()
    parser.add_argument('--layer_1_dim', type=int, default=10)
    args = parser.parse_args()

    # print(args)
    ## > Namespace(layer_1_dim=10)
    model = LitMNIST(hparams=args)
    trainer = pl.Trainer()
    try:
        trainer.fit(model)
    except:
        pass
Expected behavior

Run code
start tensorboard --logdir=lightning_logs in same directory
Go to HPARAMS  in website
See layer_1_dim and another_hyperparameter 

but another_hyperparameter empty in version0



Hackaround:

Run second code. The trick is to call the net with all hyperparameters first, then tensorboard gets  another_hyperparameter 


Environment

PyTorch Version (e.g., 1.0): py3.7_cuda101_cudnn7_0
OS (e.g., Linux): Win10
How you installed PyTorch: conda 
Build command you used (if compiling from source): -
Python version: 3.7.0
CUDA/cuDNN version: 10.1
GPU models and configuration: GTX1650
Any other relevant information:

conda list for pytorch:  pytorch-lightning         0.7.1                    pypi_0    pypi