从dvc提取当前运行阶段
我正在进行一个实验,使用命令'dvc repro -f',这个命令会根据dvc.yaml配置执行多个阶段。比如:
Stages:
Training:
foreach:
-cycle: 0
-cycle: 1
-cycle: 2
do:
cmd:
python train.py
Selection:
foreach:
-cycle: 0
-cycle: 1
-cycle: 2
do:
cmd:
python train.py
在每个阶段执行的时候,比如在第0轮的训练阶段,我想在Python程序中提取这个阶段的名称,比如'训练_0',而在选择阶段时应该是'选择_0'。我想找一种方法,可以在阶段执行时或者在阶段开始执行之前提取这些信息。我试过使用dvc.api,但这个API并没有返回当前正在运行的阶段。我该怎么做才能实现这个呢?
1 个回答
1
你可以把它作为参数传递给 train.py
:
stages:
Training:
foreach:
-cycle: 0
-cycle: 1
-cycle: 2
do:
cmd:
python train.py "Training-${item.cycle}"
Selection:
foreach:
-cycle: 0
-cycle: 1
-cycle: 2
do:
cmd:
python train.py "Selection-${item.cycle}"
这样做对你有用吗?如果能把这个功能加到 dvc.api
里,或者作为一个环境变量,那就太好了。感觉这应该很简单就能实现。如果你有兴趣,欢迎来帮忙,我们非常欢迎任何贡献,我们也可以提供帮助 :)