Skip to content

params diff #3528

@dmpetrov

Description

@dmpetrov

Users need to compare hyperparameters (issue #3393, implementation #3515) changes in different experiments. Something like dvc metrics diff is needed for parameters with the same syntax.

The difference: the delta-value/change-value which is not needed since DVC treats all the parameters as strings.

Examlpe:

$ cat params.yaml
angles:
    - 15
    - 30
    - 40
train:
    lr: 0.0041
    dropout: 0.21

$ dvc params diff
   Path             Param       Old            New
params.yaml   angles      [15, 30, 45]   [15, 30, 40]
params.yaml   train.lr         0.0041          0.0041
params.yaml   train.dropout   0.21              0.225

It should support the same set of args --targets, a_rev, b_rev and --show-json.

A possible addition (nice to have) - ignore not changed parameters (-c/--changes-only can be a good name).

# No lr since it was not changed
$ dvc params diff -c
   Path             Param       Old            New
params.yaml   angles      [15, 30, 45]   [15, 30, 40]
params.yaml   train.dropout   0.21              0.225

ADDED: It needs to take care of the dvc metrics issues that are not closed yet: #3469

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions