Machinelearningnotebooks: Pipeline Portal UX: log StepRun's metrics to parent PipelineRun

Created on 22 May 2019  路  4Comments  路  Source: Azure/MachineLearningNotebooks

Background

Now that we have a stable pipeline infrastructure, we're enabled to do A/B testing, i.e. change one parameter to see its effect on model accuracy.
To do so, I submit two PipelineRun's back to back with only one factor changed between them.

We've got a step called get_best_run which:

  1. fetches the the best run from the previous hyperdrive step, and
  2. logs the geometric_mean to the run.

I want to be able to compare,at a glance, get_best_run's geometric_mean between two PipelineRuns

Ask

It would be a HUGE win, if I could push a logged metric from a given step to the parent PipelineRun. This way, I could simply click on an experiment and see the resulting accuracy/lift of a model inline, without having to do a lot of extra clicking.

The difference is 3 clicks vs 11 clicks.

Desired UX

  1. Go to portal.azure.com
  2. Click on ML service workspace
  3. Click on Experiments in sidebar
  4. Click on desired experiment
    image

    Current UX

  5. Click on a PipelineRun's run_id

  6. Click on the get_best_run's run_id, then find geometric_mean (and write it down somewhere so you don't forget :stuck_out_tongue:)
  7. Click "Back to Parent"
  8. Click "Back to Experiment"
  9. Repeat steps 1-5 for other experimental PipelineRuns
    image

image

All 4 comments

cc: @sanpil @jpe316 @heatherbshapiro

I have captured this request in our backlog. Thank you!

To confirm, does the SDK not allow logging metrics to a parent PipelineRun from within a StepRun? The portal UX isn't as interesting to me as the ability to do so w/ the SDK

Yes, you are able to log to a parent of the current run. So in your pipeline step just execute:

from azureml.core import Run
Run.get_context().parent.log("foo", 100)

And you should get the below output:
image

Was this page helpful?
0 / 5 - 0 ratings