术语表
产物(Artifact): 产物是指模型或其他文件或目录,其结构化元数据(名称、类型、描述和一个或多个标签)可存储在 dvc.yaml
文件中。模型产物的元数据可用于模型注册表。
依赖项(Dependency): 作为 DVC 流水线中某个阶段输入的文件(例如数据、代码)、目录(例如数据集)或参数。这些依赖项在 dvc.yaml
或 .dvc
文件的 deps
字段中以路径形式指定。当任一依赖项发生变化时,相关阶段将被标记为失效(即过时)。参见 dvc stage add
、dvc params
、dvc repro
。
DVC 缓存(DVC Cache): DVC 缓存是一个隐藏的存储区域(默认位于 .dvc/cache
),用于存放由 DVC 跟踪的文件、目录及其不同版本。为了提高效率,它采用内容寻址的 结构。
DVC 文件(DVC File): 指 dvc.yaml
、dvc.lock
或 .dvc
文件。DVC 命令会在工作区中创建这些文件,以定义 流水线 和/或跟踪用于 版本控制 的数据。另请参见 dvc repro
、dvc add
。
DVC 项目(DVC Project): 通过在 工作区(通常是一个 Git 仓库)中运行 dvc init
初始化而成。该项目将包含 .dvc/
目录,以及使用 dvc add
或 dvc stage add
等命令创建的 dvc.yaml
和 .dvc
文件。更多信息
实验(Experiment): 机器学习模型开发过程中的一个带版本记录的迭代。DVC 将实验作为 Git 提交进行跟踪,这些提交对 DVC 可见,但不会污染你的 Git 历史记录或分支。实验可能包括代码、指标、参数、图表以及数据和模型产物。
外部依赖项(External Dependency): 一种阶段依赖项(出现在 dvc.yaml
或 导入阶段 的 .dvc
文件的 deps
字段中),其来源为外部位置,例如 HTTP、SSH、Amazon S3、Google Cloud Storage 远程存储,甚至是其他 DVC 仓库。参见 外部依赖项。
文件硬链接(File Linking): 一种让同一个文件在多个不同文件夹中显示但不额外占用磁盘物理空间的方法。这种方式既快速又节省空间。有关文件链接的更多细节,请参见 大规模数据集优化 和 dvc config cache
。
导入阶段: 使用 dvc import
或 dvc import-url
创建的 .dvc
文件,表示来自外部源的文件或目录。它具有一个外部依赖项(数据源)、一个隐式的下载命令以及作为输出的导入数据。
指标: 以结构化文件(JSON、TOML 1.0 或 YAML 1.2)保存的键值对,将指标名称(如 AUC、ROC 等)映射到数值。通过在 dvc.yaml
中指定指标文件,DVC 可在机器学习实验之间比较这些指标,以评估模型性能。参见 dvc metrics
。
模型仓库: 模型仓库通过 Git 连接团队中的所有模型。您可以查找、组织和管理所有模型,并使用 GitOps 工作流对其进行版本控制、升级、降级和部署。了解更多。
输出: 由 DVC 跟踪的文件或目录,在阶段的 outs
部分(位于 dvc.yaml
中)或 .dvc
文件中记录。输出通常是阶段执行的结果。参见 dvc add
、dvc repro
、dvc import
等命令。
参数: 代码所使用的超参数或其他配置值,通常从结构化文件(默认为 params.yaml
)中加载。它们可以作为 DVC 流水线中各个阶段的细粒度依赖项进行跟踪(在 dvc.yaml
中定义)。DVC 还可以在机器学习实验之间比较这些参数(有助于优化)。参见 dvc params
。
流水线: DVC 流水线以标准的声明式 YAML 格式描述数据处理工作流(dvc.yaml
),确保 DVC 能够一致地重现这些流程。DVC 还可帮助自动化执行流水线并缓存其结果。详见 定义流水线。
图表: 包括保存在结构化文件(JSON、YAML 1.2、CSV 或 TSV)中的数据序列,或保存为 JPEG、GIF、PNG 或 SVG 文件的图像。通过在 dvc.yaml
中指定图表文件及可选属性,DVC 可在机器学习实验之间比较这些图表。参见 dvc plots
。
运行缓存: 记录项目中已运行阶段的日志,由 dvc.lock
文件的备份组成,标识为相互对应的依赖项、命令和输出的组合。dvc repro
和 dvc exp run
会填充并复用该运行缓存。详见 运行缓存。
阶段:阶段代表项目工作流中达到某个里程碑的单个命令、脚本或源代码。例如,python train.py
可能会生成一个机器学习模型。DVC 阶段包含数据输入和(可选的)输出结果。了解更多。
工作区:包含所有 DVC 项目文件的目录,例如原始数据、源代码、机器学习模型。在工作区中一次只能看到一个项目版本。更多信息