View this notebook on GitHub or run it yourself on Binder!


Visualizing Experiments

In part one of the quick look, we logged some experiments and in part two we learned how to share them with collaborators. This final part of the quick look will show how users can leverage rubicon_ml’s visualizations to inspect logged experiments.

We’ll start by reading in our shared catalog detailing the hyperparameter search experiments from the first part of the quick look.

[1]:
import intake
import rubicon_ml

catalog = intake.open_catalog("./penguin_catalog.yml")

for source in catalog:
    catalog[source].discover()

experiments = [catalog[source].read() for source in catalog]

From here, using the rubicon_ml visualizations is quite simple. Just import the visualization you want to use from the viz module and pass in the experiments you want to visualize. To see all currently available visualizations, check out the “Visualization” section in our docs.

Each instance of a visualization class exposes show and serve methods. show is used to display a visualization in-line in a Jupyter notebook. show is non-blocking, so other cells can be executed while the visualization is displayed.

[2]:
from rubicon_ml.viz import ExperimentsTable

ExperimentsTable(experiments=experiments).show()
Dash is running on http://127.0.0.1:8050/

 * Serving Flask app 'rubicon_ml.viz.base' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off

experiments-table

serve only serves the visualization on the provided port without displaying it in-line. This is generally more useful for displaying visualizations from non-Jupyter runtimes. Under the hood, show simply calls serve on a background thread. Therefore, serve used directly is a blocking call and will not return until the server is shut down.

[3]:
from rubicon_ml.viz import Dashboard

Dashboard(experiments=experiments).serve(run_server_kwargs={"port": 8051})
Dash is running on http://127.0.0.1:8051/

 * Serving Flask app 'rubicon_ml.viz.base' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off