exp show
以可自定义的表格形式显示您的实验。
按
q
退出。
概要
usage: dvc exp show [-h] [-q | -v] [-a] [-T] [-A] [--rev <commit>]
[-n <num>] [--no-pager] [--drop <regex>]
[--keep <regex>] [--param-deps]
[--sort-by <metric/param>]
[--sort-order {asc,desc}] [--sha]
[--hide-failed] [--hide-queued] [--hide-workspace]
[--json] [--csv] [--md] [--precision <n>]
[--only-changed] [-f]
描述
以详细表格形式显示实验,包括其父提交和名称(或哈希值),以及从左到右着色的列:指标(黄色)、参数(蓝色)和 依赖项(紫色)。
默认仅显示源自 Git HEAD
的实验,但可通过 --all-commits
选项包含所有实验。示例:
$ dvc exp show
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Experiment Created avg_prec roc_auc featurize.max_features model.pkl data/features
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
workspace - 0.60405 0.9608 3000 484fab5 52c1fdd
random-forest-experiments May 29, 2021 0.60405 0.9608 3000 484fab5 52c1fdd
├── a2efdc9 [urban-sign] 10:21 PM 0.55669 0.93516 1000 e2b5a9a 1b2d542
├── e7bd029 [unwet-jinn] 10:21 PM 0.58589 0.945 2000 7aae464 2ac217b
└── 56f3be3 [freed-roam] 10:21 PM 0.51799 0.92333 500 cfbfed4 64ed644
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
您的终端默认会进入一个 分页屏幕,通常可通过输入 q
退出。使用 --no-pager
可将表格直接输出到标准输出。
默认情况下,输出的实验表格将包含整个项目中所有指标、参数和依赖项的列。可通过 --only-changed
、--drop
、--keep
及其他 选项 来确定显示哪些列。
表格中的实验首先按父提交分组,然后默认按时间顺序在每组内排序。可通过 --sort-by
和 --sort-order
选项,基于任意一个可见的指标或参数调整排序方式。虽然这些选项仅对实验行排序,但您可使用 VS Code 的 DVC 扩展 对实验和提交行同时排序。
分页输出
如果终端中可用,此命令的输出会自动通过管道传送到 less(使用的具体命令是 less --chop-long-lines --clear-screen
)。如果不可用 less
(例如在 Windows 上),则直接打印输出内容。
提供自定义分页工具
可以通过 DVC_PAGER
环境变量覆盖默认的分页工具。将其设置为 PATH
中可找到的程序,或提供完整路径。例如在 Linux shell 中:
$ DVC_PAGER=more dvc exp show # Use more as pager once.
...
$ export DVC_PAGER=more # Set more as pager for all commands.
$ dvc exp show ...
如需持久更改,请在 shell 配置中设置
DVC_PAGER
,例如在 Bash 中的~/.bashrc
文件中。
选项
-
-a
,--all-branches
- 包含来自所有 Git 分支以及最新提交(HEAD
)的实验。注意,此选项可与下方的-T
组合使用,例如使用-aT
标志。 -
-T
,--all-tags
- 包含来自所有 Git 标签以及最新提交的实验。注意,此选项可与上方的-a
组合使用,例如使用-aT
标志。 -
-A
,--all-commits
- 包含来自所有 Git 提交以及最新提交的实验。此选项将打印项目中的所有实验。 -
--rev <commit>
- 以指定的<commit>
为基准显示其衍生的实验。若未使用--rev
、-a
、-T
或-A
,默认以HEAD
为基准。 -
-n <num>
,--num <num>
- 从--rev
基准开始,显示最近num
个提交(首父提交)衍生的实验。传入负值可包含所有首父提交(类似git log -n
)。 -
--no-pager
- 不进入分页屏幕,直接将整个表格输出到标准输出。适用于将输出重定向至文件或使用自定义分页器。 -
--param-deps
- 仅包含作为阶段依赖的参数。 -
--only-changed
- 仅显示在各实验间取值不同的指标、参数和依赖项。 -
--drop <regex>
- 移除匹配的列。此选项优先级高于--only-changed
。若同时使用两者,--drop
仍会移除匹配列,即使其值在实验间有差异。 -
--keep <regex>
- 防止任何其他选项(包括--only-changed
和--drop
)移除匹配的列。 -
--sort-by <name>
- 按指定的指标或参数(name
)对实验进行排序。仅可使用一个可见列(指标或参数)进行排序。此选项仅影响源自同一父提交的实验的排序顺序,父提交始终按时间顺序排列。 -
--sort-order {asc,desc}
- 与--sort-by
一起使用的排序方式,默认为升序(asc
)。 -
--sha
- 显示 Git 提交(SHA)哈希值,而非分支、标签或实验名称。 -
--hide-failed
- 隐藏表格中的失败实验。 -
--hide-queued
- 隐藏表格中的排队实验。 -
--hide-workspace
- 隐藏表格中的工作区行。 -
--json
- 以易于解析的 JSON 格式输出命令结果,而非人类可读的表格形式。 -
--csv
- 以 CSV 格式输出命令结果,而非人类可读的表格。 -
--md
- 以 Markdown 表格格式输出命令结果。 -
--precision <n>
- 四舍五入十进制数值至n
位有效数字(默认为 5)。仅适用于指标。 -
-h
,--help
- 打印使用说明/帮助信息,然后退出。 -
-q
,--quiet
- 不向标准输出写入任何内容。如果没有问题则以 0 退出,否则以 1 退出。 -
-v
,--verbose
- 显示详细的跟踪信息。 -
-f
,--force
- 强制重新收集实验数据,而非从内部实验缓存中加载。DVC 会缓存已完成实验的exp show
表格数据,以提升后续exp show
调用的性能。当指定--force
时,DVC 将重新加载所有实验数据,并忽略任何先前缓存的结果。
示例
本示例基于 我们的入门指南,您可在其中找到实际源代码。
假设我们在项目中运行了 3 个实验。基本用法将显示工作区(Git 工作树)以及源自 HEAD
(本例中为 master
分支)的所有实验,以及它们的所有指标、参数和依赖项(向右滚动以查看全部):
$ dvc exp show
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Experiment Created avg_prec roc_auc prepare.split prepare.seed featurize.max_features featurize.ngrams train.seed train.n_est train.min_split data/prepared src/train.py src/evaluate.py src/prepare.py data/features data/data.xml model.pkl src/featurization.py
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
workspace - 0.60405 0.9608 0.2 20170428 3000 2 20170428 100 64 20b786b 9ab9549 fb7b520 51549a1 52c1fdd a304afb 484fab5 61c5927
random-forest-experiments May 29, 2021 0.60405 0.9608 0.2 20170428 3000 2 20170428 100 64 20b786b 9ab9549 fb7b520 51549a1 52c1fdd a304afb 484fab5 61c5927
├── e7bd029 [unwet-jinn] 10:21 PM 0.58589 0.945 0.2 20170428 2000 2 20170428 100 64 20b786b 9ab9549 fb7b520 51549a1 2ac217b a304afb 7aae464 61c5927
├── a2efdc9 [urban-sign] 10:21 PM 0.55669 0.93516 0.2 20170428 1000 2 20170428 100 64 20b786b 9ab9549 fb7b520 51549a1 1b2d542 a304afb e2b5a9a 61c5927
└── 56f3be3 [freed-roam] 10:21 PM 0.51799 0.92333 0.2 20170428 500 2 20170428 100 64 20b786b 9ab9549 fb7b520 51549a1 64ed644 a304afb cfbfed4 61c5927
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
通常,您可按
Q
键退出此界面。
作为快速减少干扰的方式,--only-changed
将移除所有在实验间数值未发生变化的列:
$ dvc exp show --only-changed
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Experiment Created avg_prec roc_auc featurize.max_features model.pkl data/features
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
workspace - 0.60405 0.9608 3000 484fab5 52c1fdd
random-forest-experiments May 29, 2021 0.60405 0.9608 3000 484fab5 52c1fdd
├── a2efdc9 [urban-sign] 10:21 PM 0.55669 0.93516 1000 e2b5a9a 1b2d542
├── e7bd029 [unwet-jinn] 10:21 PM 0.58589 0.945 2000 7aae464 2ac217b
└── 56f3be3 [freed-roam] 10:21 PM 0.51799 0.92333 500 cfbfed4 64ed644
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
您也可以使用 --drop
过滤特定列:
$ dvc exp show --drop prepare
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Experiment Created avg_prec roc_auc featurize.max_features featurize.ngrams train.seed train.n_est train.min_split data/prepared model.pkl data/data.xml src/prepare.py data/features src/evaluate.py src/featurization.py src/train.py
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
workspace - 0.60405 0.9608 3000 2 20170428 100 64 20b786b 484fab5 a304afb 51549a1 52c1fdd fb7b520 61c5927 9ab9549
random-forest-experiments May 29, 2021 0.60405 0.9608 3000 2 20170428 100 64 20b786b 484fab5 a304afb 51549a1 52c1fdd fb7b520 61c5927 9ab9549
├── e7bd029 [unwet-jinn] 10:21 PM 0.58589 0.945 2000 2 20170428 100 64 20b786b 7aae464 a304afb 51549a1 2ac217b fb7b520 61c5927 9ab9549
├── a2efdc9 [urban-sign] 10:21 PM 0.55669 0.93516 1000 2 20170428 100 64 20b786b e2b5a9a a304afb 51549a1 1b2d542 fb7b520 61c5927 9ab9549
└── 56f3be3 [freed-roam] 10:21 PM 0.51799 0.92333 500 2 20170428 100 64 20b786b cfbfed4 a304afb 51549a1 64ed644 fb7b520 61c5927 9ab9549
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
您可以使用 正则表达式 匹配列。例如,移除多个列:
$ dvc exp show --drop 'avg_prec|train.min_split'
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Experiment Created roc_auc prepare.split prepare.seed featurize.max_features featurize.ngrams train.seed train.n_est src/prepare.py data/prepared data/features data/data.xml src/evaluate.py src/featurization.py src/train.py model.pkl
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
workspace - 0.9608 0.2 20170428 3000 2 20170428 100 51549a1 20b786b 52c1fdd a304afb fb7b520 61c5927 9ab9549 484fab5
11-random-forest-experiments May 29, 2021 0.9608 0.2 20170428 3000 2 20170428 100 51549a1 20b786b 52c1fdd a304afb fb7b520 61c5927 9ab9549 484fab5
├── a2efdc9 [urban-sign] 10:21 PM 0.93516 0.2 20170428 1000 2 20170428 100 51549a1 20b786b 1b2d542 a304afb fb7b520 61c5927 9ab9549 e2b5a9a
├── e7bd029 [unwet-jinn] 10:21 PM 0.945 0.2 20170428 2000 2 20170428 100 51549a1 20b786b 2ac217b a304afb fb7b520 61c5927 9ab9549 7aae464
└── 56f3be3 [freed-roam] 10:21 PM 0.92333 0.2 20170428 500 2 20170428 100 51549a1 20b786b 64ed644 a304afb fb7b520 61c5927 9ab9549 cfbfed4
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
若同时使用多个选项,优先级从低到高依次为:--only-changed
优先级最低,--drop
次之,--keep
拥有最高优先级:
$ dvc exp show --only-changed --drop Created --keep 'train.(?!seed)'
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Experiment avg_prec roc_auc featurize.max_features train.n_est train.min_split model.pkl data/features
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
workspace 0.60405 0.9608 3000 100 64 484fab5 52c1fdd
random-forest-experiments 0.60405 0.9608 3000 100 64 484fab5 52c1fdd
├── e7bd029 [unwet-jinn] 0.58589 0.945 2000 100 64 7aae464 2ac217b
├── a2efdc9 [urban-sign] 0.55669 0.93516 1000 100 64 e2b5a9a 1b2d542
└── 56f3be3 [freed-roam] 0.51799 0.92333 500 100 64 cfbfed4 64ed644
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
按 roc_auc
指标降序排列实验:
$ dvc exp show --only-changed --sort-by=roc_auc --sort-order desc
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Experiment Created avg_prec roc_auc featurize.max_features model.pkl data/features
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
workspace - 0.60405 0.9608 3000 484fab5 52c1fdd
11-random-forest-experiments May 29, 2021 0.60405 0.9608 3000 484fab5 52c1fdd
├── e7bd029 [unwet-jinn] 10:21 PM 0.58589 0.945 2000 7aae464 2ac217b
├── a2efdc9 [urban-sign] 10:21 PM 0.55669 0.93516 1000 e2b5a9a 1b2d542
└── 56f3be3 [freed-roam] 10:21 PM 0.51799 0.92333 500 cfbfed4 64ed644
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
查看 Git 历史中的所有实验:
$ dvc exp show --all-commits --only-changed --sort-by=roc_auc
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Experiment Created avg_prec roc_auc prepare.split prepare.seed featurize.max_features featurize.ngrams train.seed train.n_est train.min_split src/train.py model.pkl data/data.xml src/evaluate.py data/features src/prepare.py data/prepared src/featurization.py
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
workspace - 0.60405 0.9608 0.2 20170428 3000 2 20170428 100 64 9ab9549 484fab5 a304afb fb7b520 52c1fdd 51549a1 20b786b 61c5927
bee447d Jun 01, 2021 0.67038 0.96693 0.2 20170428 3000 2 20170428 100 64 9ab9549 fe89bd4 c1fa36d fb7b520 7c68668 51549a1 030d866 61c5927
11-random-forest-experiments May 29, 2021 0.60405 0.9608 0.2 20170428 3000 2 20170428 100 64 9ab9549 484fab5 a304afb fb7b520 52c1fdd 51549a1 20b786b 61c5927
├── 56f3be3 [freed-roam] 10:21 PM 0.51799 0.92333 0.2 20170428 500 2 20170428 100 64 9ab9549 cfbfed4 a304afb fb7b520 64ed644 51549a1 20b786b 61c5927
├── a2efdc9 [urban-sign] 10:21 PM 0.55669 0.93516 0.2 20170428 1000 2 20170428 100 64 9ab9549 e2b5a9a a304afb fb7b520 1b2d542 51549a1 20b786b 61c5927
└── e7bd029 [unwet-jinn] 10:21 PM 0.58589 0.945 0.2 20170428 2000 2 20170428 100 64 9ab9549 7aae464 a304afb fb7b520 2ac217b 51549a1 20b786b 61c5927
bigrams-experiment May 28, 2021 0.55259 0.91536 0.2 20170428 1500 2 20170428 50 2 9ab9549 17b3d1e a304afb fb7b520 f237c73 51549a1 20b786b 61c5927
9-bigrams-model May 27, 2021 0.52048 0.9032 0.2 20170428 1500 2 20170428 50 2 9ab9549 c4c0670 a304afb fb7b520 2b5e0fd 51549a1 20b786b 61c5927
8-evaluation May 25, 2021 0.52048 0.9032 0.2 20170428 500 1 20170428 50 2 9ab9549 c4c0670 a304afb fb7b520 2b5e0fd 51549a1 20b786b 61c5927
7-ml-pipeline May 24, 2021 - - 0.2 20170428 500 1 20170428 50 2 9ab9549 - a304afb - 2b5e0fd 51549a1 20b786b 61c5927
6-prepare-stage May 23, 2021 - - 0.2 20170428 500 1 20170428 50 2 - - a304afb - - 51549a1 - -
5-source-code May 22, 2021 - - 0.2 20170428 500 1 20170428 50 2 - - - - - - - -
4-import-data May 21, 2021 - - - - - - - - - - - - - - - - -
3-config-remote May 20, 2021 - - - - - - - - - - - - - - - - -
2-track-data May 18, 2021 - - - - - - - - - - - - - - - - -
1-dvc-init May 17, 2021 - - - - - - - - - - - - - - - - -
0-git-init May 16, 2021 - - - - - - - - - - - - - - - - -
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
请注意,在本例中,Git 提交仍保持时间顺序。排序仅适用于共享同一父提交的实验组。