在 GitHub 上编辑

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 pushdvc exp pull 命令是通过 Git 和 远程存储 在多个 仓库 副本间共享 实验 的方式。

普通的 git pushgit 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 modifyjobs 配置项设置默认值。增加并行数可能提升整体传输速度。

  • -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]
内容

🐛 发现问题?告诉我们!或者修复它:

在 GitHub 上编辑

有疑问?加入我们的聊天,我们会为您提供帮助:

Discord 聊天