Galileo-Galilei / kedro-mlflow

A kedro-plugin for integration of mlflow capabilities inside kedro projects (especially machine learning model versioning and packaging)
https://kedro-mlflow.readthedocs.io/
Apache License 2.0
199 stars 33 forks source link

Add auto-registration for plugin hooks #29

Closed Galileo-Galilei closed 3 years ago

Galileo-Galilei commented 4 years ago

This is a new feature discussed in quantumblacklabs/kedro#435 and recently added to master through https://github.com/quantumblacklabs/kedro/commit/49834dd8fe34721d940634ac5a9f93b90bb7b394.

This seems to be a better way to register the basic hooks to avoid messing up with the template. Some design decisions should be made:

Galileo-Galilei commented 4 years ago

In the current version (kedro-mlflow==0.2.1), the command kedro mlflow init modifies the src/<python-package>/run.py of the template of the project and adds to Hooks:

I feel that auto-registration would be much beter than messing up wih the project template because:

As a consequence auto-registration would made maintenance much easier, increase compatibility with different kedro versions and improve user experience. I wish we integrate it. However:

turn1a commented 4 years ago

We've used automatic hook discovery feature in our (currently) inner source kedro-pandera plugin and it works well, although there's a bug that breaks kedro-viz which I submitted today so we should wait until it's resolved. When it's fixed we should definitely pursue automatic hook discovery route as it simplifies plugin setup massively.

In terms of retrocompatibility, I think that kedro-mlflow is at such an early stage at this point that I don't think it's needed. In my opinion, we should pin kedro version to the minimum required in 0.3.0 and make it clear in CHANGELOG that new version requires some migration activities for current users.

As for the PipelineML I agree that those parameters should go into pipeline_ml and multiple pipeline_ml's are definitely a realistic scenario which we should consider. flatten_dict_params in mlflow.yml sounds good too.

Galileo-Galilei commented 4 years ago

Thanks for the information regarding the kedro-viz bug, we'll wait until it is resolved.

Agreed with everything, I start separated PR.

Galileo-Galilei commented 3 years ago

https://github.com/quantumblacklabs/kedro-viz/issues/260 is now fixed, We can add this in the release.