Skip to content

Releases: iterative/dvclive

2.2.0

06 Mar 12:27
8776843
Compare
Choose a tag to compare

What's Changed

  • live: Ignore DvcException in save_dvc_exp. by @daavoo in #470
  • Add step to plots config by @dberenbaum in #478
  • lightning: more robust metric name standardization by @dberenbaum in #480
  • lightning: Determine when to call next_step based on inspect.stack. by @daavoo in #483

Full Changelog: 2.1.0...2.2.0

2.1.0: Add Notebook report

16 Feb 10:55
e0036c3
Compare
Choose a tag to compare

dvclive-notebook

What's Changed

Full Changelog: 2.0.2...2.1.0

2.0.2

06 Feb 14:05
b94ed97
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 2.0.1...2.0.2

2.0.1

03 Feb 18:12
Compare
Choose a tag to compare

Fixes from 2.0.0

  • Fix Live(save_dvc_exp=True) to save experiments even if there is an existing dvc.yaml pipeline #448
  • Fix field names in metrics history plots to use shortened names and path-separated titles #450 #451

Full Changelog: 2.0.0...2.0.1

2.0.0

03 Feb 01:23
Compare
Choose a tag to compare

Breaking changes

Control when to write DVC configuration file (dvclive/dvc.yaml)

  • Add dvcyaml keyword argument to Live() (default: True) to control when to write dvclive/dvc.yaml, which configures how DVC shows metrics, plots, and parameters #443. Previously, DVCLive determined implicitly whether to write dvclive/dvc.yaml.
  • Add Live.make_dvcyaml() method to write dvclive/dvc.yaml #443.
  • Live() will no longer remove dvclive/dvc.yaml #440.

Example:

from dvclive import Live
live = Live()
live.log_param("lr", 0.01)
live.log_metric("acc", 0.9)
live.log_sklearn_plot("confusion_matrix", [0, 0, 1, 1], [1, 0, 0, 1])
live.next_step()

By default, live.next_step() calls live.make_dvcyaml(), which writes DVC configuration to dvclive/dvc.yaml:

params:
  - params.yaml
metrics:
  - metrics.json
plots:
  - plots/metrics
  - plots/sklearn/confusion_matrix.json:
      template: confusion
      x: actual
      y: predicted
      title: Confusion Matrix
      x_label: True Label
      y_label: Predicted Label

If you are already tracking DVCLive metrics, plots, and parameters in your own
dvc.yaml file, set Live(dvcyaml=False) to avoid duplication.

Allow overwriting data

  • Stop throwing errors if data was already logged for a step #445

Example:

from dvclive import Live
live = Live()
live.log_metric("acc", 0.9)
live.log_metric("acc", 0.95) # previously would have raised an error

Shorten field names

  • Shorten path-separated names in metrics history files and plots #444

Example:

from dvclive import Live
live = Live()
live.log_metric("train/epoch/acc", 0.9)

This will generate a metrics history file at dvclive/plots/metrics/train/epoch/acc.tsv with the field acc. Previously, the field would be train/epoch/acc, duplicating the path name and resulting in lengthy plots legends.

Before:

before

After:

after

Full Changelog: 1.4.0...2.0.0

1.4.0

01 Feb 14:06
5cd55ee
Compare
Choose a tag to compare

What's Changed

  • live: Skip live.end calls inside context manager. by @daavoo in #436
  • chore(packages): bump dvc-studio-client>=0.4.0 by @mvshmakov in #441

New Contributors

Full Changelog: 1.3.4...1.4.0

1.3.4

31 Jan 16:57
c400ef9
Compare
Choose a tag to compare

What's Changed

  • update template by @github-actions in #434
  • studio: Include {live.dvc_file}:: prefix when needed. by @daavoo in #438

Full Changelog: 1.3.3...1.3.4

1.3.3

23 Jan 11:48
d669765
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.3.2...1.3.3

1.3.2

04 Jan 10:22
Compare
Choose a tag to compare

What's Changed

  • studio: Skip data event if no STUDIO_TOKEN. by @daavoo in #423

Full Changelog: 1.3.1...1.3.2

1.3.1

03 Jan 11:00
Compare
Choose a tag to compare

What's Changed

  • studio: Send params in data event. by @daavoo in #420

Full Changelog: 1.3.0...1.3.1