Как программно зарегистрировать зависимости в конвейере Python DVCPython

Программы на Python
Anonymous
Как программно зарегистрировать зависимости в конвейере Python DVC

Сообщение Anonymous »

Я хочу провести последовательность экспериментов, и каждый эксперимент будет использовать определенные файлы входных данных (зависимости), каждый из которых я хочу подготовить при запуске эксперимента. (В некоторых экспериментах будут использоваться одни и те же наборы входных данных, поэтому их не нужно будет заново генерировать во время последующих экспериментов).
Сначала я думал, что смогу сделать это с одним «главным» конвейер, который циклически обрабатывает каждый эксперимент:
dvc.yaml

Код: Выделить всё

stages:
prepare_data:
foreach: ${experiment_names}
do:
cmd: python stages/prepare_data.py "${item}"
deps:
- source_data
- stages/prepare_data.py
params:
- prepare_data
outs:
- input_data
run_simulations:
foreach: ${experiment_names}
do:
...
Конкретный файл исходных данных, используемый каждым экспериментом, может быть разным, и он будет определен в подготовленном файле data.py на основе имени эксперимента, которое я ему передаю, и некоторых exp_spec .yaml, который он будет загружать, или, возможно, из файла params.yaml.
Я борюсь с тем, как зарегистрировать зависимости в этом dvc. yaml, чтобы при изменении только одного файла исходных данных повторно запускались только те симуляции, которые используют этот файл.
Очевидно, что это невозможно сделать в приведенном выше файле dvc.yaml. потому что это относится ко всем экспериментам.
Нужно ли мне создавать отдельный конвейер для каждого эксперимента, чтобы регистрировать конкретные зависимости? Если да, то можно ли это сделать программно или мне нужно собрать их все вручную?

Подробнее здесь: https://stackoverflow.com/questions/788 ... c-pipeline

Вернуться в «Python»