为了理解dvc,大多数教程都提到了通过运行dvc run命令生成dvc.yaml。
但同时,定义DAG的dvc.yaml也是well documented。此外,它是一种yaml格式,并且是人类可读/可写的,这一事实表明它是一种用于指定数据管道的DSL。
有人能澄清一下哪种做法更好吗?是编写dvc.yaml还是让dvc run命令生成它?或者这是留给用户的选择,没有技术上的差异?
发布于 2021-06-17 00:00:06
我建议将手工编辑作为主要途径!(我相信这是自DVC 2.0以来官方推荐的)
dvc stage add对于以编程方式生成管道文件仍然非常有用,但它并不支持dvc.yaml的所有特性,例如设置vars值或定义foreach stages。
发布于 2021-06-16 22:47:23
两者都有,真的。
dvc run (或者更新的dvc stage add加上dvc exp run)主要是用来管理dvc.yaml文件的。对于大多数(包括普通用户)来说,这可能是最简单的&因此是最好的。将保证格式正确(类似于在{git,dvc} config和直接修改.{git,dvc}/config之间进行选择)
但是,正如您所注意到的,dvc.yaml是人类可读的。这是有意的,以便更高级的用户可以手动编辑YAML (可能会缩短一些验证检查,或者解锁foreach stages等高级功能)。
https://stackoverflow.com/questions/68004538
复制相似问题