DVC 使用指南:项目结构中.dvc文件详解

简介: 您可以使用 dvc add 来跟踪位于当前工作空间中的数据文件或目录。 此外,dvc import 和 dvc import-url 允许您将数据从外部的位置带到您的项目,并开始在本地跟踪它。以 .dvc 扩展名结尾的文件由这些命令创建为可以使用 Git 进行版本控制的数据占位符。 它们包含随时跟踪目标数据所需的信息。

您可以使用 dvc add 来跟踪位于当前工作空间中的数据文件或目录。 此外,dvc importdvc 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 importdvc import-url 生成此 .dvc 文件时出现。 通常只有一个(但可以手动添加几个)。
wdir outsdeps 路径的工作目录(相对于 .dvc 文件的位置)。文件的位置默认为.
md5 (仅适用于导入).dvc 文件本身的 MD5 哈希。
meta (可选的) 可以使用此字段手动添加任意用户元数据。支持任何的 YAML 内容。 meta 内容会被 DVC 忽略。

注意:dvc reprodvc commit 的执行中保留meta字段和 # 注释,但在文件被 dvc adddvc movedvc importdvc import-url 重写时,不会保留。

输出条目(Output entries)说明

以下子字段可能出现在 outs 条目下:

字段 描述
path (必须的) 文件或目录的路径(相对于wdir,默认为文件的位置)
md5etagchecksum 使用 DVC 跟踪的文件或目录的哈希值。 MD5 用于大多数位置(本地文件系统和 SSH); ETag 用于 HTTPS3Azure ;以及特殊的checksum用于 HDFSWebHDFS
size 文件或目录的大小(所有文件的总和)。
nfiles 如果这个依赖是一个目录,则表示里面文件的数目(递归)。
isexec 是否是可执行文件。 DVC 保留在 dvc checkoutdvc pull 上的执行权限 。 这对目录没有影响,或者通常对 Windows 没有影响。
cache 是否缓存此文件或目录(默认为“true”)。 请参阅 dvc add 命令的--no-commit 选项。
remote (可选的) 用于pushfetch时,远程数据存储的名称。
persist dvc repro 运行时输出文件/目录是否应保留在原位(默认情况下为"false",当dvc repro 启动时,会删除输出)。
desc (可选的) 输出的用户描述(在指标和图表中也支持)。 这个不会影响任何 DVC 操作。

依赖条目(Dependency entries)说明

deps 条目下可能存在以下子字段:

字段 描述
path (必须的) 依赖(dependency)的路径(相对于wdir,默认为文件的位置)
md5etagchecksum 仅在使用 dvc import-url 创建的外部依赖中:导入文件或目录的哈希值。 MD5 用于本地路径和 SSH; ETag 用于 HTTPS3GCSAzure; 以及特殊的checksum用于 HDFSWebHDFS
size 文件或目录的大小(所有文件的总和)。
nfiles 如果这个依赖是一个目录,则表示里面文件的数目(递归)。
repo 仅在使用 dvc import 创建的外部依赖中:它可以包含 urlrevrev_lock(详情如下所示)。

依赖条目(deps )下 repo 子字段说明

字段 描述
url 带有源 DVC 项目的 Git 存储库的 URL
rev 仅当使用 dvc import --rev 时:用于导入依赖的特定提交哈希、分支或Tag名称等(就像Git revision一样)。
rev_lock 导入或更新依赖时(使用 dvc update),外部 DVC 存储库的 Git 提交(commit)哈希


相关文章
|
机器学习/深度学习 人工智能 开发工具
人工智能项目的python版本管理工具DVC
dvc即data version control, 是一种针对人工智能项目(机器学习或者深度学习)的数据版本管理工具。DVC的操作和GIT类似,可以认为为GIT的二次开发封装。结合GIT,DVC可以有效的管理人工智能项目的整个流程,包括代码,数据,训练配置,模型【2月更文挑战第12天】
78587 1
|
数据建模 计算机视觉
SiMBA:基于Mamba的跨图像和多元时间序列的预测模型
微软研究者提出了SiMBA,一种融合Mamba与EinFFT的新架构,用于高效处理图像和时间序列。SiMBA解决了Mamba在大型网络中的不稳定性,结合了卷积、Transformer、频谱方法和状态空间模型的优点。在ImageNet 1K上表现优越,达到84.0%的Top-1准确率,并在多变量长期预测中超越SOTA,降低了MSE和MAE。代码开源,适用于复杂任务的高性能建模。[[论文链接]](https//avoid.overfit.cn/post/c21aa5ca480b47198ee3daefdc7254bb)
1926 3
|
2月前
|
机器学习/深度学习 人工智能 监控
河道塑料瓶识别标准数据集 | 科研与项目必备(图片已划分、已标注)| 适用于YOLO系列深度学习分类检测任务【数据集分享】
随着城市化进程加快和塑料制品使用量增加,河道中的塑料垃圾问题日益严重。塑料瓶作为河道漂浮垃圾的主要类型,不仅破坏水体景观,还威胁水生生态系统的健康。传统的人工巡查方式效率低、成本高,难以满足实时监控与治理的需求。
|
Java 测试技术 Linux
Android Studio安装超详细步骤
安装Android Studio涉及多个步骤,包括**安装JDK 1.8**,配置`JAVA_HOME`和`PATH`环境变量。然后从**官方地址**下载并安装Android Studio。启动时初始化环境,通过SDK Manager安装必要的SDK Tools。配置**ANDROID_HOME**环境变量,并在`PATH`中添加SDK相关目录。确保**adb**和**emulator**命令可执行,并可能需要将build-tools降级至兼容JDK 1.8的版本(如29)。这些步骤对于设置App自动化测试环境至关重要。
|
Dubbo Java 应用服务中间件
带你读《Apache Dubbo微服务开发从入门到精通》——三、 Annotation配置(下)
带你读《Apache Dubbo微服务开发从入门到精通》——三、 Annotation配置(下)
400 101
|
缓存 网络架构
路由器的结构以及工作原理
路由器的结构以及工作原理
340 0
|
存储 编译器 程序员
【C++ 泛型编程 高级篇】 C++ 14 模版元编程 遍历元组 编译期生成整数序列 std::index_sequence和std::make_index_sequence 使用指南(一)
【C++ 泛型编程 高级篇】 C++ 14 模版元编程 遍历元组 编译期生成整数序列 std::index_sequence和std::make_index_sequence 使用指南
695 0
|
JavaScript 前端开发 IDE
JavaScript 中的 structuredClone():详尽解析
您是否知道,现在 JavaScript 中有一种原生的方式可以深拷贝对象?
|
Java Python Windows
Python pip 源设置成国内源,阿里云源,清华大学源,最方便的方式,都在这里了
Python pip 源设置成国内源,阿里云源,清华大学源,最方便的方式,都在这里了
74474 0
|
XML 缓存 开发工具
【Git】Git忽略提交的规则(.gitignore配置总结)
【Git】Git忽略提交的规则(.gitignore配置总结)
574 0