如何在 DVC 中启动实验?

How do launch experiments in DVC?

我想在 DVC 中进行一些实验。但是当我设置实验参数值时,DVC 删除文件 'params.yaml',并且实验没有设置在队列中。

简化代码例如: Python 文件 'test.py':

import numpy as np
import json
import yaml

params = yaml.safe_load(open('params.yaml'))["test"]

precision = np.random.random()
recall = params['value']
accuracy = np.random.random()
 

rows = {'precision': precision,
        'recall': recall,
        'accuracy': accuracy}


with open(params['metrics_path'], 'w') as outfile:
    json.dump(rows, outfile)

fpr = 10*np.random.random((1,10)).tolist()
tpr = 10*np.random.random((1,10)).tolist()

with open('plot.json', 'w') as outfile2:
    json.dump(
      {
        "roc": [ {"fpr": f, "tpr": t} for f, t in zip(fpr, tpr) ]
      }, 
      outfile2
      )

params.yaml:

test:
  metrics_path: "scores.json"
  value: 1

dvc.yaml:

stages:
  test:
    cmd: python test.py
    deps:
    - test.py
    params:
    - test.metrics_path
    - test.value
    metrics:
    - scores.json:
        cache: false
    plots:
    - plot.json:
        cache: false
        x: fpr
        y: tpr

这是一种奇怪的行为。可以修复吗?

我解决了我的问题。 git 必须跟踪所有文件(可执行脚本,'dvc.yaml'、'params.yaml')。在这种情况下 dvc exp run 命令可以正常工作。