Vishal Pandey
09/18/2024, 4:59 PMVishal Pandey
09/19/2024, 11:18 AMArtur Dobrogowski
09/19/2024, 11:23 AMArtur Dobrogowski
09/19/2024, 11:24 AMVishal Pandey
09/19/2024, 11:25 AMArtur Dobrogowski
09/19/2024, 11:25 AMArtur Dobrogowski
09/19/2024, 11:26 AMVishal Pandey
09/19/2024, 11:26 AMArtur Dobrogowski
09/19/2024, 11:27 AMArtur Dobrogowski
09/19/2024, 11:27 AMArtur Dobrogowski
09/19/2024, 11:28 AMArtur Dobrogowski
09/19/2024, 11:28 AMArtur Dobrogowski
09/19/2024, 11:29 AMArtur Dobrogowski
09/19/2024, 11:31 AMVishal Pandey
09/19/2024, 11:34 AMArtur Dobrogowski
09/19/2024, 11:36 AMArtur Dobrogowski
09/19/2024, 11:37 AMArtur Dobrogowski
09/19/2024, 11:39 AMArtur Dobrogowski
09/19/2024, 11:39 AMArtur Dobrogowski
09/19/2024, 11:40 AMVishal Pandey
09/19/2024, 11:41 AMArtur Dobrogowski
09/19/2024, 11:44 AMArtur Dobrogowski
09/19/2024, 11:44 AMVishal Pandey
09/19/2024, 11:45 AMArtur Dobrogowski
09/19/2024, 11:45 AMArtur Dobrogowski
09/19/2024, 11:46 AMVishal Pandey
09/19/2024, 11:46 AMArtur Dobrogowski
09/19/2024, 11:46 AMArtur Dobrogowski
09/19/2024, 11:47 AMArtur Dobrogowski
09/19/2024, 11:53 AMArtur Dobrogowski
09/19/2024, 11:54 AMVishal Pandey
09/19/2024, 11:56 AMArtur Dobrogowski
09/19/2024, 11:57 AMVishal Pandey
09/19/2024, 11:58 AMso let me know what you'll figure out about how to pass params, as I said I'm rusty in this topic and would be happy to know as wellon this, someone in the channel mentioned that once we define the params in parameters.yml , it reflects on the kubeflow Ui, and takes the default values defined in the yaml. Users can edit it , i will test it and let you know for sure.
Vishal Pandey
09/19/2024, 12:03 PMVishal Pandey
09/19/2024, 12:05 PMArtur Dobrogowski
09/19/2024, 12:10 PMArtur Dobrogowski
09/19/2024, 12:14 PMimport uuid
from omegaconf import OmegaConf
# Define a custom resolver to generate a random UUID
def generate_uuid():
return str(uuid.uuid4())
# Register the resolver with OmegaConf
OmegaConf.register_new_resolver("uuid", generate_uuid)
# Example usage
config = OmegaConf.create({
"id": "${uuid:}",
})
# Access the config to generate a random UUID
print(config.id) # Each time config.id is accessed, it generates a new UUID
in kedro's settings you can add this:
CONFIG_LOADER_ARGS = {
"custom_resolvers": {
"random_uid": generate_uuid
}
}
and then enjoy in configs
${random_uid:}
Artur Dobrogowski
09/19/2024, 12:17 PMArtur Dobrogowski
09/19/2024, 12:18 PMVishal Pandey
09/19/2024, 12:23 PMVishal Pandey
09/19/2024, 12:23 PMArtur Dobrogowski
09/19/2024, 12:24 PMVishal Pandey
09/19/2024, 12:27 PMfrom kedro.config import OmegaConfigLoader
from kedro.framework.project import settings
# Instantiate an `OmegaConfigLoader` instance with the location of your project configuration.
conf_path = str(project_path / settings.CONF_SOURCE)
conf_loader = OmegaConfigLoader(conf_source=conf_path)
Artur Dobrogowski
09/19/2024, 12:27 PMArtur Dobrogowski
09/19/2024, 12:27 PMgenerate_uuid()
Artur Dobrogowski
09/19/2024, 12:28 PMArtur Dobrogowski
09/19/2024, 12:28 PMVishal Pandey
09/19/2024, 12:28 PMArtur Dobrogowski
09/19/2024, 12:29 PMArtur Dobrogowski
09/19/2024, 12:29 PMVishal Pandey
09/19/2024, 12:30 PMVishal Pandey
09/19/2024, 12:31 PMArtur Dobrogowski
09/19/2024, 12:33 PMArtur Dobrogowski
09/19/2024, 12:33 PMArtur Dobrogowski
09/19/2024, 12:35 PMArtur Dobrogowski
09/19/2024, 12:36 PMVishal Pandey
09/19/2024, 12:43 PMVishal Pandey
09/19/2024, 12:43 PMArtur Dobrogowski
09/19/2024, 12:44 PMArtur Dobrogowski
09/19/2024, 12:45 PMVishal Pandey
09/19/2024, 12:45 PMArtur Dobrogowski
09/19/2024, 12:45 PMArtur Dobrogowski
09/19/2024, 12:45 PMArtur Dobrogowski
09/19/2024, 12:45 PMVishal Pandey
09/19/2024, 12:47 PMArtur Dobrogowski
09/19/2024, 12:47 PMArtur Dobrogowski
09/19/2024, 12:48 PMArtur Dobrogowski
09/19/2024, 12:48 PMArtur Dobrogowski
09/19/2024, 12:49 PMVishal Pandey
09/19/2024, 12:49 PMresolvers are a must if you want to have dynamic paths for your artifacts in data catalogYeah that's something I learned recently.
Vishal Pandey
09/19/2024, 12:49 PMVishal Pandey
09/19/2024, 12:50 PMArtur Dobrogowski
09/19/2024, 12:50 PMArtur Dobrogowski
09/19/2024, 12:51 PMArtur Dobrogowski
09/19/2024, 12:52 PMArtur Dobrogowski
09/19/2024, 12:52 PMArtur Dobrogowski
09/19/2024, 12:52 PMArtur Dobrogowski
09/19/2024, 12:53 PMVishal Pandey
09/19/2024, 12:54 PMArtur Dobrogowski
09/19/2024, 12:55 PMVishal Pandey
09/19/2024, 12:56 PMArtur Dobrogowski
09/19/2024, 12:58 PMVishal Pandey
09/19/2024, 12:59 PMVishal Pandey
09/19/2024, 1:04 PMArtur Dobrogowski
09/19/2024, 1:08 PMArtur Dobrogowski
09/19/2024, 1:09 PMArtur Dobrogowski
09/19/2024, 1:09 PMcatalog.yaml
?Vishal Pandey
09/19/2024, 1:25 PMVishal Pandey
09/19/2024, 3:00 PMkedro kubeflow init
.
Couple of questions here -
1. Is this configuration used only once to publish/upload a pipeline and if we make changes to this config we will have to again run upload_pipeline
command
2. Does upload_pipeline
command always publishes a new pipeline on kubeflow or is there a way to simply publish a new version of an existing pipeline on kubeflow.
3. Can we reconfigure these configs for different runs from kubeflow UI once it is published on kubeflow. Because if that is not the case someone will have to always re run the upload_pipeine command.Artur Dobrogowski
09/19/2024, 3:01 PMVishal Pandey
09/19/2024, 3:01 PMVishal Pandey
09/19/2024, 3:03 PMArtur Dobrogowski
09/20/2024, 10:26 AMArtur Dobrogowski
09/20/2024, 10:29 AMVishal Pandey
09/20/2024, 10:32 AMAlso as a side note, if your main case is for different users to have their own versions then you can use kedro-envs for that instead of fiddling with dynamic configs and resolvers.Can you please ellaborate on this ??