我在 kedro 中有以下命名空间管道:
def create_pipeline(**kwargs) -> Pipeline:
pipeline_instance = pipeline(
[
node(
func=split_data,
inputs=["model_input_table", "params:model_options"],
outputs=["X_train", "X_test", "y_train", "y_test"],
name="split_data_node",
),
node(
func=train_model,
inputs=["X_train", "y_train"],
outputs="regressor",
name="train_model_node",
),
node(
func=evaluate_model,
inputs=["regressor", "X_test", "y_test"],
outputs=None,
name="evaluate_model_node",
),
]
)
ds_pipeline_1 = pipeline(
pipe=pipeline_instance,
inputs={"model_input_table":"feature_engineering.ds1_input"}
namespace="active_modelling_pipeline",
)
ds_pipeline_2 = pipeline(
pipe=pipeline_instance,
inputs={"model_input_table":"feature_engineering.ds2_input"}
namespace="candidate_modelling_pipeline",
parameters={"params:model_options": "params:model_options_experimental"},
)
return pipeline(
pipe = ds_pipeline_1 + ds_pipeline_2,
namespace="modeling_pipeline"
我希望 ds_pipeline_1 和 ds_pipeline_2 的“model_input_table”不同,并且来自另一个命名空间,例如“feature_engineering.ds1_input”(这就是它在catalog.yml中的存储方式)。
参数也一样:我想将它们映射到“params:feature_engineering.model_options_experimental”
将此管道的命名空间强制为“modeling_pipeline”:
这些数据对象不存在于我的数据目录中。
如何解决这个问题?解决方法是什么?
你找到答案了吗?
我也有同样的问题,但是无法解决。