您可以使用 dvc add
来跟踪位于当前工作空间中的数据文件或目录。 此外,dvc import
和 dvc import-url
允许您将数据从外部的位置带到您的项目,并开始在本地跟踪它。
以 .dvc
扩展名结尾的文件由这些命令创建为可以使用 Git 进行版本控制的数据占位符。 它们包含随时跟踪目标数据所需的信息。
示例如下:
outs: - md5: a304afb96060aad90176268345e10355 path: data.xml desc: Cats and dogs dataset remote: myremote # 支持撰写评论和用户元数据信息 meta: name: 'Devee Bird' email: devee@dvc.org 复制代码
这些文件也是使用 YAML 1.2 文件格式。 我们鼓励您熟悉它,以便您可以自行修改、编写或生成 .dvc
文件。
规格(Specification)说明
这些是 .dvc
文件纲要(schema)中的根级别接受的字段,可以使用#
进行注释。
字段 | 描述 |
outs |
(必须的) 表示DVC 跟踪的文件或目录的 输出条目(详情如下所示) 列表。 通常只有一个(但可以手动添加或组合几个)。 |
deps |
依赖条目 (详情如下所示) 的列表。 仅在使用 dvc import 或 dvc import-url 生成此 .dvc 文件时出现。 通常只有一个(但可以手动添加几个)。 |
wdir |
outs 和 deps 路径的工作目录(相对于 .dvc 文件的位置)。文件的位置默认为. 。 |
md5 |
(仅适用于导入).dvc 文件本身的 MD5 哈希。 |
meta |
(可选的) 可以使用此字段手动添加任意用户元数据。支持任何的 YAML 内容。 meta 内容会被 DVC 忽略。 |
注意: 在
dvc repro
和dvc commit
的执行中保留meta
字段和#
注释,但在文件被dvc add
、dvc move
、dvc import
或dvc import-url
重写时,不会保留。
输出条目(Output entries)说明
以下子字段可能出现在 outs
条目下:
字段 | 描述 |
path |
(必须的) 文件或目录的路径(相对于wdir ,默认为文件的位置) |
md5 、etag 、checksum |
使用 DVC 跟踪的文件或目录的哈希值。 MD5 用于大多数位置(本地文件系统和 SSH); ETag 用于 HTTP 、S3 或 Azure ;以及特殊的checksum 用于 HDFS 和 WebHDFS 。 |
size |
文件或目录的大小(所有文件的总和)。 |
nfiles |
如果这个依赖是一个目录,则表示里面文件的数目(递归)。 |
isexec |
是否是可执行文件。 DVC 保留在 dvc checkout 和 dvc pull 上的执行权限 。 这对目录没有影响,或者通常对 Windows 没有影响。 |
cache |
是否缓存此文件或目录(默认为“true”)。 请参阅 dvc add 命令的--no-commit 选项。 |
remote |
(可选的) 用于push 或fetch 时,远程数据存储的名称。 |
persist |
dvc repro 运行时输出文件/目录是否应保留在原位(默认情况下为"false",当dvc repro 启动时,会删除输出)。 |
desc |
(可选的) 输出的用户描述(在指标和图表中也支持)。 这个不会影响任何 DVC 操作。 |
依赖条目(Dependency entries)说明
deps
条目下可能存在以下子字段:
字段 | 描述 |
path |
(必须的) 依赖(dependency)的路径(相对于wdir ,默认为文件的位置) |
md5 、etag 、checksum |
仅在使用 dvc import-url 创建的外部依赖中:导入文件或目录的哈希值。 MD5 用于本地路径和 SSH; ETag 用于 HTTP 、S3 、GCS 和 Azure ; 以及特殊的checksum 用于 HDFS 和 WebHDFS 。 |
size |
文件或目录的大小(所有文件的总和)。 |
nfiles |
如果这个依赖是一个目录,则表示里面文件的数目(递归)。 |
repo |
仅在使用 dvc import 创建的外部依赖中:它可以包含 url 、rev 和 rev_lock (详情如下所示)。 |
依赖条目(deps
)下 repo
子字段说明
字段 | 描述 |
url |
带有源 DVC 项目的 Git 存储库的 URL |
rev |
仅当使用 dvc import --rev 时:用于导入依赖的特定提交哈希、分支或Tag名称等(就像Git revision一样)。 |
rev_lock |
导入或更新依赖时(使用 dvc update ),外部 DVC 存储库的 Git 提交(commit)哈希 |