在 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 status
和 dvc 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