问题标签 [dvc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
39 浏览

pipeline - 是否有替代 DVC 管道的方法来创建 DAG,该 DAG 也知道节点的输入/输出以缓存结果?

我最近开始使用 DVC 管道在我的应用程序中创建 DAG。我从事机器学习项目,我需要对系统的不同节点进行大量实验。例如:

Data preprocessing -> feature extraction -> model training -> model evaluation

每个节点产生一个输出,每个节点的输出用于另一个节点。DVC 允许我做的是创建一个管道,我可以在其中指定节点之间的依赖关系。我也使用.yaml文件来配置我的应用程序的参数,您也可以将这些参数指定为不同节点的依赖项。因此,只要节点之间的依赖关系发生变化(可以是配置参数或指定的输入/输出),DVC 就能够检测到这一点,并运行管道的必要部分。如果特定节点的依赖项没有更改,DVC 可以使用其缓存跳过该步骤。这对我来说真的很有用,因为有些节点需要很长时间才能执行,而且它们并不总是需要运行(如果它们的依赖关系没有改变的话)。

我也开始使用 hydra 来管理我的配置文件,老实说,DVC 不能很好地与 hydra 配合使用。它需要一个静态配置来指定参数依赖项,而使用 hydra 做起来有点棘手,并且使事情复杂化。

我的问题是:是否有任何 DVC Pipelines 的替代品也适用于 hydra?

0 投票
0 回答
36 浏览

python - 如何解决 Pycharm 上的 DVC 拉取错误?

当我执行“DVC Pull”时,出现以下错误

如何解决?Github 存储库的链接是

0 投票
1 回答
31 浏览

dvc - DVC 中的多个用户

我想问是否可以在同一台机器上使用多个帐户的 DVC。目前,所有命令(dvc pull, dvc push, ...)都以我的名义执行。但是在几个人也加入了这个项目之后,我不希望他们以我的名义执行命令。

当我一个人在这个项目上时,我生成了 ssh 密钥:

连接到存储 DVC 远程数据的服务器:

创建的配置文件让我可以dvc使用 ssh 执行所有命令:

我应该怎么做才能让几个人以自己的名义执行命令?

0 投票
0 回答
23 浏览

dvc - DVC Push KeyError 文件大小

我已将大量 CSV 文件列表添加到我的 dvc 存储库中,但是当我尝试进行 DVC 推送时,它会抱怨

编辑 所以搜索它似乎可能有助于包含有关错误的详细日志。

0 投票
1 回答
46 浏览

git - 如何合并来自多个分支(Git 和 DVC)的数据(CSV)文件?

背景:在我的项目中,我使用 GIT 和DVC来跟踪版本:

  • GIT - 仅适用于源代码
  • DVC - 用于数据集、模型对象和输出

我在不同的分支中测试不同的方法,即:

  • 随机森林
  • 神经网络_1
  • ...

通常作为输出,我将预测保存在具有标准化名称的 csv 文件中(即:pred_test.csv)。因此,在不同的分支中,我有不同的 pred_test.csv 文件。该文件的结构非常简单,它包含两列:

  • ID
  • 预言

问题:将这些预测文件合并为单个大文件的最佳方法是什么?

我想获得一个具有以下结构的文件:

  • ID
  • 预测随机森林
  • Prediction_neural_network_1
  • 预言_...

我的主要问题是如何访问具有不同分支中的预测的文件?

0 投票
1 回答
25 浏览

git - DVC 实验管理工作流程

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

我有params.yaml文件:

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

然后运行另一个实验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呢?

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