kedro
рекомендует сохранять параметры в conf/base/parameters.yml
. Давайте предположим, что это выглядит так:
step_size: 1
model_params:
learning_rate: 0.01
test_data_ratio: 0.2
num_train_steps: 10000
А теперь представьте, что у меня есть какой-то data_engineering
конвейер, у которого nodes.py
есть функция, которая выглядит примерно так:
def some_pipeline_step(num_train_steps):
"""
Takes the parameter `num_train_steps` as argument.
"""
pass
Как бы Я go о и передать эти вложенные параметры прямо в эту функцию в data_engineering/pipeline.py
? Я безуспешно пытался:
from kedro.pipeline import Pipeline, node
from .nodes import split_data
def create_pipeline(**kwargs):
return Pipeline(
[
node(
some_pipeline_step,
["params:model_params.num_train_steps"],
dict(
train_x="train_x",
train_y="train_y",
),
)
]
)
Я знаю, что я мог бы просто передать все параметры в функцию, используя ['parameters']
, или просто передать все model_params
параметры с помощью ['params:model_params']
, но это кажется не элегантным, и я чувствую, что должен быть способ. Был бы признателен за любой вклад!