DVC 实验管理工作流程

DVC Experiment management workflow

我正在为 DVC 实验管理而苦恼。假设以下场景:

我有params.yaml个文件:

recommendations:
  k: 66
  q: 5

我运行用dvc exp run -n exp_66做实验,然后我做dvc exp push origin exp_66。在此之后,我修改 params.yaml 文件:

recommendations:
  k: 99
  q: 5

然后 运行 另一个实验 dvc exp run -n exp_99,之后我提交 dvc exp push origin exp_99

现在,当我使用 Git 拉取相应的分支时,我尝试通过 运行ning dvc exp pull origin exp_66 从 dvc 中拉取 exp_66。这会拉取(没有错误消息),但是 params.yaml 文件的内容是 k: 99(我希望 k: 66)。我究竟做错了什么? git push一定要在dvc push之后执行吗?除此之外,我还找到了dvc exp apply exp_66,但我不确定它的作用(建议在apply之后执行git add .,然后git commit

如果您能写下提交不同实验、推送、拉取、应用等的工作流程,我将不胜感激

你做的一切都很好。最后,拉动后,可以看到使用dvc exp show时,你的实验就在那里。要将实验列表中的可用实验恢复到工作区,您只需 运行 dvc exp apply exp_66。 DVC 将确保签出与此实验对应的更改。

到目前为止,您的工作流程似乎是正确的。一个补充:一旦你确定其中一个实验是你想要“保留”在 git 历史记录中的,你可以使用 dvc exp branch {exp_id} {branch_name} 为这个实验创建一个单独的分支。然后你可以使用git命令来保存更改。