在 GitHub 上编辑

unfreeze

解冻 阶段,以便 dvc repro 可以执行它们。更多信息请参见 dvc freeze

概要

usage: dvc unfreeze [-h] [-q | -v] targets [targets ...]

positional arguments:
  targets        Stages or .dvc files to unfreeze

描述

被追踪的数据文件有多种方式会被冻结,dvc freeze 是其中之一。冻结的阶段会被 dvc statusdvc repro 视为“未更改”。

如果对已冻结的阶段使用 dvc unfreeze,这些阶段将重新被 dvc status 检查,并由 dvc repro 重新生成。

请注意,默认情况下 导入阶段(import stages) 是冻结的。应使用 dvc update 从外部数据源更新导入的数据。在需要使用这些阶段输出的管道上运行 dvc repro 前,请先 解冻 它们。

选项

  • -h, --help - 打印使用说明/帮助信息,然后退出。

  • -q, --quiet - 不向标准输出写入任何内容。如果没有问题则以 0 退出,否则以 1 退出。

  • -v, --verbose - 显示详细的跟踪信息。

示例

首先,我们创建一个简单的阶段,将文件 foo 复制为 bar

$ echo foo > foo
$ dvc add foo
$ dvc stage add -n make_copy -d foo -o bar cp foo bar

更多细节请参见 dvc stage add

接下来,让我们修改阶段 make_copy 所依赖的文件 foo,并将该阶段也冻结,观察此时项目的状态:

$ echo zoo > foo
$ dvc freeze make_copy
$ dvc status
foo.dvc:
	changed outs:
		modified:           foo

DVC 会注意到 foo 发生了变化(因为有跟踪该文件的 foo.dvc 文件,作为 outs),但 make_copy 阶段并未将其依赖项中的变更记录下来。运行 dvc unfreeze 以获取正常的完整项目状态:

$ dvc unfreeze make_copy
$ dvc status
make_copy:
	changed deps:
		modified:           foo
foo.dvc:
	changed outs:
		modified:           foo
内容

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

在 GitHub 上编辑

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

Discord 聊天