#3598 does not allow monitoring tensors logged via `TrainResult`
🐛 Bug
Code sample
@pytest.mark.parametrize("monitor", ["tr_foo", "tr_bar", "va_foo", "va_bar"])
def test(tmpdir, monitor):
    model = DeterministicModel()

    def training_step(batch, batch_idx):
        acc = model.step(batch, batch_idx)
        result = TrainResult(minimize=acc)
        result.log("tr_foo", torch.randn(1), on_step=False, on_epoch=True)
        result.log("tr_bar", torch.randn(1), on_step=False, on_epoch=True)
        return result

    def validation_step(*args, **kwargs):
        result = EvalResult()
        result.log("va_foo", torch.randn(1), on_step=False, on_epoch=True)
        result.log("va_bar", torch.randn(1), on_step=False, on_epoch=True)
        return result

    model.training_step = training_step
    model.validation_step = validation_step
    model.validation_step_end = None
    model.validation_epoch_end = None

    trainer = Trainer(
        default_root_dir=tmpdir,
        early_stop_callback=EarlyStopping(monitor=monitor),
        checkpoint_callback=ModelCheckpoint(monitor=monitor),
        limit_train_batches=3,
        limit_val_batches=3,
        max_epochs=2,
        weights_summary=None,
    )
    trainer.fit(model)
tr_foo and tr_bar fail. va_foo and va_bar work.
Expected behavior
No failure and callbacks correctly monitor their monitor
Environment
Current master
@williamFalcon