1

我正在为 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 拉取相应的分支时,我尝试exp_66通过运行从 dvc拉取dvc exp pull origin exp_66. 这会拉动(没有错误消息),但params.yaml文件的内容是 with k: 99(我希望k: 66)。我究竟做错了什么?git push之后一定要执行吗dvc push?除此之外,我也找到了dvc exp apply exp_66,但我不确定它是做什么的(建议在apply执行之后git add .,然后git commit呢?

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

4

1 回答 1

3

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

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

于 2022-03-03T15:05:59.073 回答