DVC 实验概述
机器学习实验可以在运行时通过 DVC 自动保存,也可以在完成后手动保存。每次实验都会基于你的 工作区 中的变化,创建并跟踪你数据科学项目的一个变体。
实验会保留与当前分支最新提交(Git HEAD
)的关联作为其父节点或基线,但不会成为常规 Git 树的一部分。这可以防止临时提交和分支使你的仓库变得臃肿。
实验是自定义的 Git 引用(位于 .git/refs/exps
中),基于 HEAD
拥有一个或多个提交。这些提交由 DVC 隐藏且不会被检出。请注意,默认情况下这些引用也不会推送到 Git 远程仓库(参见 dvc exp push
)。
请注意,DVC 实验需要一个唯一名称来标识。DVC 默认会自动生成一个名称,例如 puffy-daks
。你也可以使用 dvc exp run
/dvc exp save
的 --name
/-n
选项设置自定义名称。这些名称可用于其他 dvc exp
子命令中引用实验。
保存实验
请参阅 👨💻 快速入门:实验 获取 DVC 实验的实践介绍。
要保存实验,你可以选择以下任一方式:
- 如果你没有 DVC 流水线,可以通过初始化 DVCLive 从 Python 代码中记录实时结果。
- 如果你有 DVC 流水线,请使用
dvc exp run
来同时运行你的代码流水线并保存实验结果。dvc exp run
还支持一次性排队多个实验等高级功能。
实验默认保存在本地,但你可以共享它们,以便其他人可以复现你的工作。
指标、图表、参数
DVC 可以跟踪和比较以标准结构化文件(如 YAML、JSON 和 CSV)保存的参数、指标和图表数据,并可将它们作为仓库的一部分进行跟踪。生成这些参数、指标和图表(并自动配置)的一种方法是使用 DVCLive。你也可以手动生成这些文件,并使用 dvc.yaml
元文件来指定哪些文件是参数、指标或图表(以及如何可视化图表)。
模型和数据集
DVC 可以将模型或数据集作为仓库的一部分进行跟踪,并且你可以在模型注册表中管理这些模型。记录模型或其他产物的一种方法是使用 DVCLive。你也可以使用 dvc add
跟踪它们,并在 dvc.yaml
中声明模型注册表所需的元数据。
通过图形界面使用 DVC 实验
DVC 实验可以直接通过 VS Code 集成开发环境 或在线使用 [DVC Studio] 进行操作,DVC Studio 是一个集成所有数据科学工具的网页用户界面。