kedro-viz icon indicating copy to clipboard operation
kedro-viz copied to clipboard

Allow users to see parameter configs from past runs in experiment tracking

Open tynandebold opened this issue 3 years ago • 4 comments

Description

It seems suboptimal we don't give users a way to view their parameter configurations from Kedro runs in experiment tracking. They could conceivably do this via GitHub if they're continually committing their changes, though if done that way it's more arduous and isn't done via Viz. And if they don't do that, then they'll lose any ability to see these values.

Idea initially conceived and discussed with @samhiscoxqb and @marianansilva.

Problem statement

As a user, I want to be able to see in experiment tracking what my parameter value was for a run sometime in the past, especially when the parameter wasn’t committed to git.

Context

I propose something like the following, where we add a Run Config metadata field:

Screen Shot 2022-08-17 at 12 50 12

Clicking on that field would open a modal, where the user would be able to view their parameters for that run (more nicely formatted in the future with syntax highlighting):

Screen Shot 2022-08-17 at 12 50 44

Possible Implementation

Kedro would have to save a (versioned?) parameters file somewhere at the time of performing a kedro run. The contents of that file would then need to be read and passed via the run_metadata query to the frontend, where we display it.

Possible Alternatives

Not so much an alternative, and instead an idea for a future version:

  • v1 (described above): show the user what their config was when that run was made. Show as a link in the metadata are and open a modal with YML
  • v2: compare two or three configs side by side and see what you changed. This diffing is already done by users, just not in Viz, since we don't offer that functionality.

Checklist

  • [x] Include labels so that we can categorise your feature request

tynandebold avatar Aug 17 '22 12:08 tynandebold

There needs to be a mechanism for the user re-run with those same commands. Either generating the CLI command or in the UI

datajoely avatar Aug 17 '22 12:08 datajoely

To do on the Framework side:

  • [ ] Decide on the best mechanism of tracking the parameters. Should we version parameters.yml and essentially treat it as a dataset or should this data be stored in the session store?

merelcht avatar Aug 17 '22 15:08 merelcht

Thought: what happens if there's a folder of multiple parameter.yml files?

tynandebold avatar Aug 22 '22 15:08 tynandebold

@tynandebold Kedro (within the same env) will allow this and merge at runtime, but error if they have the same keys.

datajoely avatar Aug 22 '22 15:08 datajoely

Further user demand for feature https://kedro-org.slack.com/archives/C03RKP2LW64/p1679922405309659

datajoely avatar Mar 27 '23 15:03 datajoely

Closing this. We'll reopen this ticket if we look at this again downstream.

tynandebold avatar Jul 31 '23 15:07 tynandebold