Replies: 1 comment 3 replies
-
|
I may have some idea about this but my idea is not touching the native Kedro API. |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
This is a pattern that I run into quite often, and always use the same hack to fix.
Excuse me if I mix up my
1.0.0syntax, I haven't gotten used to it yet 😁Setup
I have an evaluation pipeline for my experiments that can be namespaced. Lets say I want to evaluate model training for
model_a,model_bandmodel_c.My
pipeline_registry.pywould have code that looks like:Each
evaluationpipeline outputs a namespaced results file. So mycatalog.yamlmight have an entry like:Finally, imagine I have a final pipeline that I want do some overall evaluation of all models.
Say our
combined_eval/pipeline.pylooks like:Problem
Of course, this works if I only have 3 models and never more or less.
If I want to add a model, this requires updating the pipeline registry and evaluation pipeline with the new model.
This is a small example, but in a larger project this could have a big effect.
Hacky solution
I always end up adding a list to my
settings.pywith:Then my
pipeline_registry.pybecomes:Then the pipeline definition is:
Not perfect, but it does what I want.
Discussion
Is there a right way to do this? Or could there be in the future?
Something like defining the
combine_resultsnode like:Alternate scenarios
Instead of a nodes inputs, this could also be a node's outputs.
Alternate solutions
A lifetime ago, I want to say I've seen @deepyaman do a fancy wildcard search on the catalog itself to populate a node's inputs for a join / concatenate operation.
However, this required constructing the catalog and giving it to the
create_pipelinefunction.Beta Was this translation helpful? Give feedback.
All reactions