kedro parameters 简单使用

kedro 的parameters还是比较强大的,我们直接可以基于配置,或者运行时定义就可以方便的使用配置参数,以下是使用的简单说明

定义parameters

一般是在conf/base/parameters.yml 中,当然也可以配置特定pipeline 的parameters

  • 参考
name: dalong
age: 33
version: v1
  • 使用
    node 使用,pipeline 定义input 参数
def preprocess_companies(companies: pd.DataFrame,parameters: Dict) -> Tuple[pd.DataFrame, Dict]:
node(
    func=preprocess_companies,
    inputs=["companies","parameters"],
    outputs=["preprocessed_companies", "companies_columns"],
    name="preprocess_companies_node",
),

特定key 参数的引用,比如只使用name

node(
    func=preprocess_companies,
    inputs=["companies","parameters:name"],
    outputs=["preprocessed_companies", "companies_columns"],
    name="preprocess_companies_node",
),
  • 运行时指定参数
kedro run --params=name=dalong,age=2222

说明

编程模式也是可以获取parameters的会做为一个data catalog 信息,同时通过配置模式也可以获取到,比如OmegaConfigLoader 模式

from kedro.config import OmegaConfigLoader, MissingConfigException
from kedro.framework.project import settings
conf_path = str(project_path / settings.CONF_SOURCE)
conf_loader = OmegaConfigLoader(conf_source=conf_path)
try:
    parameters = conf_loader["parameters"]
except MissingConfigException:
    parameters = {}

参考资料

https://docs.kedro.org/en/stable/configuration/parameters.html

posted on 2024-09-25 05:56  荣锋亮  阅读(11)  评论(0编辑  收藏  举报

导航