Skip to content

2nd version of code generation

Генерация кода исключительно для BasicStage класса. Описываются стейджи определенные в корне yml файла или в runs Generic Pipeline-ов, определенных в корне yml файла. То есть если в корне определяется GenericPipeline, который в качестве run определяет другой GenericPipeline, который в свою очередь в своем run определяет BasicStage, такой стейдж не будет сгенерирован.

Для стейджей определенных внутри пайплайнов используется следующее название: <stage_name>_IN_<pipeline_name>, чтобы избежать переопределение если разные пайплайны определяют внутри стейджи с одинаковыми именами.

Yml файл считан с помощью mldev.yaml_loader.YamlLoaderWithEnvVars.

  • Expression поля сконвертированны в строки при обработке стейджей. Это приводит к артефактам такого типа.
  • Для объектов типа mldev.experiment.FilePath файлы получается обращением к их полю .files. Альтернативно можно вызывать метод .get_files(), когда будут храниться абсолютные пути, а не локальные.

Для использования сгенерированного скрипта:

  1. Переместить скрипт в директорию эксперимента
  2. python <script_name>.py <stage_name> --params '<json_string_with_params>'

Если указано некорректное имя стейджа, будет выведено сообщение: Unknown BasicStage: <stage_name>.

Сгенерированный скрипт был протестирован для template-default эксперимента (сгенерированный скрипт). Способ запуска:

python experiment_basic.py prepare_IN_run_prepare
python experiment_basic.py train_IN_run_prepare_train --params '{"num_iters":2}'
python experiment_basic.py predict_IN_run_predict

Merge request reports

Loading