这个工具提供了哪些能力
点开任一能力,看清怎么用
每个能力展开后是三件事:它会给你什么、你需要准备什么、哪些必须由你把关。
常见场景:数据文件太大不能被Git直接管理;需要追踪每次实验的参数、指标和产物并方便对比;多个数据处理和训练步骤需要增量重算而非每次全跑;团队需要共享同一份数据集并在各仓库间版本锁定引用
不用搭专门的实验平台,它就能帮你把每次实验的参数、指标和产出都记录在本地仓库里:实验之间可以按指标排名比较,看中了哪次就一键恢复当时的全部状态。
它会给你什么
- 每次实验一个可引用的版本号,随时可恢复或分享。
- 实验产出的模型和数据,存入缓存,可以推送到远端共享。
- 一张实验对比表,列出各次实验的指标高低。
你需要准备
- 已有的流水线定义文件,实验在它的基础上变换参数。
- 这次实验要改哪些参数,可以单个改,也可以批量扫一组。
- 实验基于代码库的哪个版本运行。
由你把关
- 恢复某次实验会覆盖你没提交的当前改动,由你确认。
- 并行跑实验时占用的处理器、内存和显卡资源要设好上限,由你配置确认。
- 上传到在线平台涉及外部服务和访问凭证,授权范围由你确认。
你可以从别的仓库或网址把数据引进自己的项目,并锁定用哪个版本;上游数据更新后,一条命令就能拉取新版本,多个项目就这样串成一张共享数据的网络。
它会给你什么
- 拉到本地项目里的数据文件。
- 一条导入记录,写明数据来自哪里、用的哪个版本。
- 数据版本的指纹,用来检测上游有没有更新。
你需要准备
- 数据来源的仓库地址,可以是 GitHub 仓库或本地路径。
- 要用来源仓库的哪个版本或分支。
- 数据在来源仓库里的位置。
由你把关
- 来源仓库的使用授权是否没问题,私有仓库尤其要注意,由你确认。
- 锁定的数据版本是不是你想要的那个,由你核对。
- 拉取上游新版本可能改变后续结果,要不要触发重算由你确认。
把大数据文件和模型文件纳入版本管理:Git 只记一个轻量的指针,真正的大文件放进专门缓存,这样既能在不同版本间切换数据,又不会撑爆代码仓库。
它会给你什么
- 每个数据文件对应一个轻量的指针文件,交给 Git 管理。
- 真实的大文件,按内容指纹存进本地缓存。
- 更新后的忽略清单,防止大文件被误提交进 Git。
你需要准备
- 你想纳入版本管理的数据文件、文件夹或模型文件。
- 一个 Git 仓库,用来记录版本指针。
- 缓存和文件链接方式的配置,影响磁盘占用和跨平台表现。
由你把关
- 文件链接方式影响磁盘占用和跨平台表现,要确认你的系统支持,由你核对。
- 多人共用缓存时各用户的隔离边界要确认清楚,由你核对。
把数据处理的各个步骤写成一张流程图:哪一步依赖哪一步、用什么命令、产出什么文件都写清楚。改动任何一环后重跑,它只重算受影响的步骤,没变的直接沿用,省时又可复现。
它会给你什么
- 更新后的运行记录,锁住每步用的输入和产出的版本。
- 每步生成的文件,存入缓存并放在工作目录。
- 指标文件,随时可以查看各步骤的表现。
你需要准备
- 流程定义文件:每一步用什么命令、依赖什么、输出什么、参数是什么。
- 参数文件,里面的参数改动会被自动察觉。
- 各步骤用到的代码和数据,以及上一步的产出。
由你把关
- 某步失败后继续往下跑时,被跳过的步骤结果是否可信,由你核对。
- 沿用历史结果的前提是命令和环境都没变,换机器时要确认环境一致,由你核对。
- 批量参数生成的步骤名字有没有冲突,由你核对。
把本地缓存的大文件和云存储互相备份同步:数据推上去给团队共享,换了电脑拉下来接着用,Git 里依旧只留轻量指针。
它会给你什么
- 推送到云端的数据文件。
- 从云端拉回本地缓存和工作目录的文件。
- 一张同步状态表,标明哪些文件已同步、缺失或新增。
你需要准备
- 本地缓存里的文件,通常只同步项目实际用到的部分。
- 云存储的地址配置,写明推送到哪个远端。
- 云存储的访问凭证,按各家云的要求提前配好。
由你把关
- 云存储的访问凭证和存储桶权限要配好、配对,由你核对。
- 选择同步全部历史会收集大量文件,成本和耗时是否可接受,由你评估确认。
- 远端保留哪些版本、花多少钱,保留策略由你确认。
第一次这样开始
把仓库地址直接交给 AI
先让 AI 说明环境和风险,再完成最小安装验证。开始前想清楚要用哪个能力、把对应材料备在手边——每张能力卡展开后有具体清单。
第一次直接复制
帮我安装这个库:https://github.com/iterative/dvc 安装前先告诉我需要什么环境,安装后帮我跑通一个最小示例。
别这样用
这些判断,仍然由你负责
- 把大文件直接提交到Git而不是只用DVC跟踪其.dvc元数据
- dvc exp apply前未保存当前工作区未提交改动导致覆盖
- 在多仓库间import数据后忘记用dvc update同步上游新版本
技术依据
查看能力拆解、验证范围与来源
技术依据
查看能力拆解、验证范围与来源
处理机制
- 01
内容寻址缓存与对象数据库
DVC 的数据版本管理、流水线复现、实验跟踪、远端同步和数据导入五张能力卡,都依赖同一个横向机制:内容寻址缓存(content-addressable cache)。这个机制解释了为什么 DVC 能用轻量 Git 元数据管理大文件、为什么 push/pull 是云无关的、以及为什么多个能力能共享同一份本地存储。
已核对范围
- 只读上游快照 本地只读快照,commit f74c1c0e709de61f571905802bc0c75035dc6ef2
- README.rst、dvc/repo/experiments/init.py、dvc/repo/experiments/run.py、dvc/repo/experiments/queue/base.py、dvc/repo/metrics/show.py
- dvc/commands/experiments/init.py(exp 子命令清单)、dvc/repo/experiments/refs.py、dvc/repo/experiments/stash.py
- README.rst、dvc/repo/imp.py、dvc/repo/impurl.py、dvc/repo/impdb.py、dvc/repo/get.py、dvc/repo/geturl.py、dvc/repo/update.py、dvc/repo/datasets.py
- dvc/stage/imports.py(syncimport/updateimport)、dvc/repo/openrepo.py
- README.rst、dvc/repo/add.py、dvc/repo/init.py、dvc/dvcfile.py、dvc/cachemgr.py
- tests/unit/testdvcfile.py、tests/func/testadd.py 的存在与命名
- README.rst、dvc/repo/reproduce.py、dvc/stage/init.py、dvc/stage/loader.py、dvc/stage/run.py、dvc/dvcfile.py
仍待核对
- 未运行 dvc exp run/dvc exp show/dvc exp apply
- 未验证 workspace/tempdir/celery 三种 queue 的实际隔离与并发
- 未验证 hydra sweep 的实际展开
- 未验证 Studio live metrics 的上传链路
- 未验证 exp ref(refs/exps/...)与 Git 提交的交互
- 未运行 dvc import/import-url/get/update
- 未验证跨仓库数据注册中心的实际拉取与版本锁定
- 未验证 dvc update 拉取上游新版本的行为
读取版本
f74c1c0e709de61f571905802bc0c75035dc6ef2许可
Apache-2.0
最近核对
内容 2026-07-10
Stars 2026-07-11
相关文章
科研之我见
AI 科研全流程怎么搭,我梳理出三个核心入口
每天开工先固定阶段入口、材料入口和验证入口,把庞大的科研全流程收缩成一段可执行、可检查的任务。
查看内容