exp pull
从 Git 远端下载 实验,并从 远程存储 下载其相关数据。
概要
usage: dvc exp pull [-h] [-q | -v] [-A] [--rev <commit>] [-n <num>] [-f]
[--no-cache] [-r <name>] [-j <number>]
[--run-cache | --no-run-cache]
git_remote [experiment ...]
positional arguments:
git_remote Git remote name or Git URL
experiment Experiment to pull
描述
dvc exp push
和 dvc exp pull
命令是通过 Git 和 远程存储 在多个 仓库 副本间共享 实验 的方式。
普通的
git push
和git fetch
不适用于实验,因为实验是保存在自定义 Git 引用下的。有关 DVC 实验存储的更多信息,请参阅 DVC 实验概览 中的 “DVC 如何跟踪实验?”。
需要提供一个有效的 git_remote
名称(例如 origin
)或 Git URL。默认情况下会拉取来自 HEAD
提交的实验(详见下方选项)。
dvc exp pull
的首要操作是从 Git 远端下载 experiments
,使其在本地仓库中可用(等同于 git fetch <git_remote> refs/exps/<experiment>
)。使用 dvc exp show
来浏览本地实验。
默认情况下,此命令还会尝试通过 dvc pull
下载与实验关联的所有 缓存 数据至 远程存储,除非使用了 --no-cache
选项。
选项
-
-A
,--all-commits
- 拉取仓库中的所有实验(覆盖--rev
和--num
)。 -
--rev <commit>
- 以指定的<commit>
为基线拉取其衍生的实验(默认为 HEAD)。 -
-n <num>
,--num <num>
- 从--rev
基线开始,拉取最近num
个提交(首个父提交)衍生的实验。传入负值可包含所有首个父提交(类似git log -n
)。 -
-f
,--force
- 若本地仓库中已存在该实验,则覆盖它。 -
--no-cache
- 不从 DVC 远程存储拉取与此实验关联的缓存文件。 -
-r <name>
,--remote <name>
- 从中拉取缓存文件的dvc remote
名称。 -
--run-cache
,--no-run-cache
- 是否从dvc remote
下载所有可用的 阶段运行 历史(仅存入缓存,类似dvc fetch --run-cache
)。注意,需使用dvc exp run <stage_name>
才能检出这些文件。默认为--no-run-cache
。 -
-j <number>
,--jobs <number>
- DVC 向远程存储上传数据的并行级别。默认值为4 * cpu_count()
。注意,可通过dvc remote modify
的jobs
配置项设置默认值。增加并行数可能提升整体传输速度。 -
-h
,--help
- 显示帮助信息并退出。 -
-q
,--quiet
- 不向标准输出写入任何内容。如果没有问题则以 0 退出,否则以 1 退出。 -
-v
,--verbose
- 显示执行dvc pull
命令时的详细跟踪信息。
示例
本示例基于 我们的入门指南,您可在其中找到实际源代码。
假设我们克隆了一个 DVC 仓库,并希望获取他人共享的实验(另请参阅 dvc exp list
)。
$ dvc exp list --all-commits origin
main:
lurid-air
$ dvc exp pull origin
Pulled experiment 'lurid-lair' from Git remote 'origin'.
我们现在可以看到实验存在于本地仓库中:
$ dvc exp list --all-commits
main:
5cdc6a9 [lurid-air]