Resolve "Display metric values per epoch"
What does this MR do and why?
When training models, it's common to track metrics during the training, not only the final value. While we were recording all values, we were just displaying the last. Seeing all values allow users to debug the behaviour of the training script. This adds the first iteration to display this values as a table, plots are planned as a follow up. It also reestructures the detail page better accomodate the data.
Screenshots or screen recordings
Before | After |
---|---|
How to set up and validate locally
-
Create the data (in rails console):
project_id = 1 # whatever project you want to use for testing p = Project.find_by(id: project_id) e = Ml::Experiment.create!(project: p, name: "GitLab experiment") c = e.candidates.create(project: p) c.metrics.create(name: "AUC", value: 0.1, step: 0) c.metrics.create(name: "Accuracy", value: 0.2, step: 2) c.metrics.create(name: "Accuracy", value: 0.5, step: 3) c.metadata.create(name: "some name", value: "some data") c.params.create(name: "max-depth", value: "3")
-
Navigate to your project, then
Analyze > Model experiments
. Select the experiment and then the candidate -
Verify the changes in screenshots above
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Related to #421164 (closed)