Skip to main content

Description

Display a table of experiments with their parameters and metrics. This command provides a comprehensive view of all experiments, allowing you to compare results across different runs and identify the best performing configurations.
Use --only-changed to focus on metrics and parameters that vary across experiments, making it easier to identify what impacts performance.

Usage

dvc exp show [options]

Options

Filtering Options

-a, --all-branches
boolean
default:"false"
Show experiments derived from the tip of all Git branches.
dvc exp show --all-branches
-T, --all-tags
boolean
default:"false"
Show experiments derived from all Git tags.
dvc exp show --all-tags
--all-commits
boolean
default:"false"
Show experiments from all Git commits (not just latest).
--rev
string[]
Show experiments derived from specific Git revisions.
dvc exp show --rev main --rev feature-branch
--num
integer
default:"1"
Show experiments from the last N commits.
dvc exp show --num 5
--hide-failed
boolean
default:"false"
Hide failed experiments in the table.
dvc exp show --hide-failed
--hide-queued
boolean
default:"false"
Hide queued experiments in the table.
dvc exp show --hide-queued
--hide-workspace
boolean
default:"false"
Hide workspace row in the table.

Display Options

--only-changed
boolean
default:"false"
Only show metrics and parameters with values varying across experiments. Very useful for identifying what parameters affect results.
dvc exp show --only-changed
--drop
string[]
Remove columns matching the specified regex pattern. Can be used multiple times.
dvc exp show --drop 'params.yaml:data.*' --drop 'metrics.json:train.*'
--keep
string[]
Preserve only columns matching the specified regex pattern. Can be used multiple times.
dvc exp show --keep 'metrics.*' --keep 'params.yaml:model.*'
--param-deps
boolean
default:"false"
Show only parameters that are stage dependencies (defined in dvc.yaml).
dvc exp show --param-deps
--no-pager
boolean
default:"false"
Do not pipe output into a pager. Useful when redirecting output or in CI/CD.
dvc exp show --no-pager
--sha
boolean
default:"false"
Always show Git commit SHAs instead of branch/tag names.
dvc exp show --sha

Sorting Options

--sort-by
string
Sort experiments by the specified metric or parameter.
dvc exp show --sort-by metrics.json:accuracy
dvc exp show --sort-by params.yaml:train.lr
--sort-order
string
default:"asc"
Sort order to use with --sort-by. Options: asc (ascending) or desc (descending).
dvc exp show --sort-by accuracy --sort-order desc

Output Format Options

--json
boolean
default:"false"
Print output in JSON format instead of a human-readable table.
dvc exp show --json > experiments.json
--csv
boolean
default:"false"
Print output in CSV format instead of a human-readable table.
dvc exp show --csv > experiments.csv
--md, --markdown
boolean
default:"false"
Show output in Markdown table format (GitHub Flavored Markdown).
dvc exp show --md
--precision
integer
default:"5"
Round metrics and parameters to N digits after the decimal point.
dvc exp show --precision 3
-f, --force
boolean
default:"false"
Force re-collection of experiments instead of loading from cache.
dvc exp show --force

Examples

Show all experiments

dvc exp show
Output:
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┓
 Experiment Created accuracy loss lr epochs
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━┩
 workspace - 0.92 0.234 0.001 50
 ├── exp-a1b2c Mar 04 0.89 0.287 0.01 50
 └── exp-d3e4f Mar 03 0.85 0.312 0.1 50
 main Mar 02 0.83 0.351 0.001 30
└───────────────────┴─────────┴──────────┴─────────────┴────────┴─────────┘

Show only changed values

dvc exp show --only-changed
Output:
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┓
 Experiment accuracy loss lr
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━┩
 workspace 0.92 0.234 0.001
 ├── exp-a1b2c 0.89 0.287 0.01
 └── exp-d3e4f 0.85 0.312 0.1
 main 0.83 0.351 0.001
└───────────────────┴──────────┴─────────────┴────────┘
The epochs column is hidden because all experiments used the same value.

Sort by metric

dvc exp show --sort-by accuracy --sort-order desc --only-changed
Output:
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┓
 Experiment accuracy loss lr
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━┩
 workspace 0.92 0.234 0.001
 ├── exp-a1b2c 0.89 0.287 0.01
 └── exp-d3e4f 0.85 0.312 0.1
 main 0.83 0.351 0.001
└───────────────────┴──────────┴─────────────┴────────┘
Sorting by metrics helps quickly identify the best performing experiments.

Filter columns with regex

dvc exp show --keep 'metrics.*' --only-changed
Output:
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━┓
 Experiment accuracy loss
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━┩
 workspace 0.92 0.234
 ├── exp-a1b2c 0.89 0.287
 └── exp-d3e4f 0.85 0.312
 main 0.83 0.351
└───────────────────┴──────────┴─────────────┘

Export to CSV

dvc exp show --csv > experiments.csv
Output (in experiments.csv):
Experiment,Created,accuracy,loss,lr,epochs
workspace,-,0.92,0.234,0.001,50
exp-a1b2c,Mar 04,0.89,0.287,0.01,50
exp-d3e4f,Mar 03,0.85,0.312,0.1,50
main,Mar 02,0.83,0.351,0.001,30
CSV output is useful for importing results into spreadsheets or data analysis tools.

Export to JSON

dvc exp show --json | jq '.[] | select(.data.metrics.accuracy > 0.9)'
JSON output works great with tools like jq for programmatic filtering and analysis.

Show experiments from multiple branches

dvc exp show --rev main --rev feature-branch --only-changed

Show last 10 commits with experiments

dvc exp show --num 10

Format for documentation

dvc exp show --md --only-changed --sort-by accuracy --sort-order desc
Output:
| Experiment   | accuracy | loss  | lr    |
|--------------|----------|-------|-------|
| workspace    | 0.92     | 0.234 | 0.001 |
| exp-a1b2c    | 0.89     | 0.287 | 0.01  |
| exp-d3e4f    | 0.85     | 0.312 | 0.1   |
| main         | 0.83     | 0.351 | 0.001 |

Understanding the Output

Experiment Tree Structure

Experiments are shown in a tree structure:
  • Bold rows indicate baseline commits (Git commits)
  • └── and ├── symbols show experiment hierarchy
  • workspace shows current uncommitted changes

Column Types

Columns are color-coded by type:
  • Experiment info (grey background): Experiment name, creation date, state
  • Metrics (orange background): Performance metrics from your model
  • Parameters (cyan background): Hyperparameters and configuration
  • Dependencies (purple background): Input data checksums
Failed experiments show ! in the State column. Use --hide-failed to exclude them.

Common Workflows

Find best experiment

dvc exp show --sort-by metrics.json:accuracy --sort-order desc --only-changed | head -n 5

Compare specific parameters

dvc exp show --keep 'params.yaml:model.*' --keep 'metrics.json:accuracy'

Generate report for stakeholders

dvc exp show --md --only-changed --hide-failed --sort-by accuracy --sort-order desc > report.md
  • dvc exp run - Create new experiments
  • dvc exp diff - Compare two specific experiments
  • dvc exp apply - Apply experiment to workspace
  • dvc metrics show - View metrics without experiment context

Build docs developers (and LLMs) love