Настройка параметров в Kedro Notebook - PullRequest
2 голосов
/ 19 февраля 2020

Можно ли перезаписать свойства, взятые из файла parameters.yaml в записной книжке Kedro?

Я пытаюсь динамически изменять значения параметров в записной книжке. Я хотел бы иметь возможность дать пользователям возможность запускать стандартный конвейер, но с настраиваемыми параметрами. Я не хочу менять файл YAML, я просто хочу изменить параметр для жизни ноутбука.

Я пытался редактировать параметры в контексте, но это никак не отразилось.

context.params.update({"test_param": 2})

Я что-то упустил или это не тот случай использования?

1 Ответ

1 голос
/ 19 февраля 2020

Kedro поддерживает указание дополнительных параметров из командной строки, запустив

kedro run --params "key1:value1,key2:value2"

, что решает ваш второй вариант использования.

Что касается варианта использования ноутбука, обновление context.params не имеет никакого эффекта, поскольку контекст не сохраняет параметры в self, а извлекает их из конфигурации каждый раз, когда вызывается свойство.

Однако вы все равно можете добавить дополнительные параметры в объект контекста после его создания:

extra_params = context._extra_params or {}
extra_params.update({"test_param": 2})
context._extra_params = extra_params

Это обновит дополнительные параметры, которые применяются поверх обычных параметров, поступающих из конфигурации.

...