Skip to content

Releases: Galileo-Galilei/kedro-mlflow

Release 0.9.0

01 Apr 11:31
Compare
Choose a tag to compare

[0.9.0] - 2022-04-01

Added

  • ✨ Add support for kedro=0.18.X
  • kedro-mlflow is now available on conda-forge and can be installed with conda install kedro-mlflow. This is retroactive to kedro-mlflow==0.8.1 (#118)

Removed

  • 💥 🗑️ Drop support for kedro=0.17.X

Release 0.8.1

13 Feb 22:59
Compare
Choose a tag to compare

[0.8.1] - 2022-02-13

Added

  • ✨ Open the UI in the default browser when the mlflow_tracking_uri in mlflow.yml is a http address instead of launching the ui server. (#275)

Fixed

  • 🐛 Force the input dataset in KedroPipelineModel to be a MemoryDataSet to remove unnecessary dependency to the underlying Kedro AbstractDataSet used during training (#273)
  • 🐛 Make MlflowArtifactDataset correctly log in mlflow Kedro DataSets without a _path attribute like kedro.io.PartitionedDataSet (#258).
  • 🐛 Automatically persist pipeline parameters when calling the kedro mlflow modelify command for consistency with how PipelineML objects are handled and for ease of use (#282).

Release 0.8.0

05 Jan 21:55
Compare
Choose a tag to compare

[0.8.0] - 2022-01-05

Added

  • ✨ Add a kedro mlflow modelify command to export a pipeline as a mlflow model (#261)
  • 📝 Format code blocks in documentation with blacken-docs
  • 👷 Enforce the use of black and isort in the CI to enforce style guidelines for developers

Changed

  • ✨ 💥 The pipeline_ml_factory accepts 2 new arguments log_model_kwargs (which will be passed as is to mlflow.pyfunc.log_model) and kpm_kwargs (which will be passed as is to KedroPipelineModel). This ensures perfect consistency with mlflow API and offers new possibility like saving the project source code alongside the model (#67). Note that model_signature, conda_env and model_name arguments are removed, and replace respectively by log_model_kwargs["signature"], log_model_kwargs["conda_env"] and log_model_kwargs["artifact_path"].
  • ✨ 💥 The KedroPipelineModel custom mlflow model now accepts any kedro Pipeline as input (provided they have a single DataFrame input and a single output because this is an mlflow limitation) instead of only PipelineML objects. This simplifies the API for user who want to customise the model logging (#171). KedroPipelineModel.__init__ argument pipeline_ml is renamed pipeline to reflect this change.
  • 🗑️ kedro_mlflow.io.metrics.MlflowMetricsDataSet is no longer deprecated because there is no alternative for now to log many metrics at the same time.
  • 💥 Refactor mlflow.yml to match mlflow's API (#77). To migrate projects with kedro<0.8.0, please update their mlflow.yml with kedro mlflow init --force command.

Fixed

  • 🐛 KedroMlflowConfig.setup() methods now sets the experiment globally to ensure all runs are launched under the experiment specified in the configuration even in interactive mode (#256).

Removed

  • 🔥 💥 KedroMlflowConfig and get_mlflow_config were deprecated since 0.7.3 and are now removed from kedro_mlflow.framework.context. Direct import must now use kedro_mlflow.config.

Release 0.7.6

08 Oct 06:05
Compare
Choose a tag to compare

[0.7.6] - 2021-10-08

Fixed

  • 🐛 The reserved keyword "databricks" is no longer converted to a local filepath before setting the MLFLOW_TRACKING_URI to enable integration with databricks managed platform. (#248)

Release 0.7.5

21 Sep 17:26
Compare
Choose a tag to compare

[0.7.5] - 2021-09-21

Added

  • ✨ Add support for notebook use. When a notebook is opened via a kedro command (e.g. kedro jupyter notebook), you can call the %reload_kedro_mlflow line magic to setup mlflow configuration automatically. A mlflow_client to the database is also created available as a global variable (#124).
  • 📝 Add automatic API documentation through docstrings for better consistency between code and docs (#110). All docstrings are not updated yet and it will be a long term work.

Changed

  • ♻️ KedroMlflowConfig was refactored with pydantic for improved type checking when loading configuration, overall robustness and autocompletion. Its keys have changed, but it is not considered as a user facing changes since the public function get_mlflow_config() and KedroMlflowConfig().setup() are not modified.

  • 🗑️ The kedro.framework.context folder is moved to kedro.config for consistency with the Kedro repo structure: get_mlflow_config import must change from from kedro_mlflow.framework.context import get_mlflow_config to from kedro_mlflow.config import get_mlflow_config.

Release 0.7.4

30 Aug 11:28
Compare
Choose a tag to compare

[0.7.4] - 2021-08-30

Added

  • ✨ Create an MlflowMetricDataSet to simplify the existing metric API. It enables logging a single float as a metric, eventually automatically increasing the "step" if the metric is going to be updated during time (#73)
  • ✨ Create an MlflowMetricHistoryDataSet to simplify the existing metric API. It enables logging the evolution of a given metric during training. (#73)

Fixed

  • 🐛 Dictionnary parameters with integer keys are now properly logged in mlflow when flatten_dict_params is set to True in the mlflow.yml instead of raising a TypeError (#224)
  • 🐛 The user defined sep parameter of the mlflow.yml (defined in node section) is now used even if the parameters dictionnary has a depth>=2 (#230)

Changed

  • ♻️ Move flatten_dict function to hooks.utils folder and rename it _flatten_dict to make more explicit that it is not a user facing function which should not be used directly and comes with no guarantee. This is not considered as a breaking change since it is an undocumented function.
  • 🗑️ Deprecate MlflowMetricsDataSet in favor of the 2 new datasets MlflowMetricDataSet and MlflowMetricHistoryDataSet newly added. It will be removed in kedro-mlflow==0.8.0.

Release 0.7.3

16 Aug 21:57
Compare
Choose a tag to compare

[0.7.3] - 2021-08-16

Added

  • ✨ Update the MlflowArtifactDataSet.load() method to download the data from the run_id if it is specified instead of using the local filepath. This can be used for instance to continue training from a pretrained model or to retrieve the best model from an hyperparameter search (#95)

Release 0.7.2

02 May 21:36
Compare
Choose a tag to compare

[0.7.2] - 2021-05-02

Fixed

  • Remove global CLI command new (which was not implemented yet) to make project CLI commands available. It is not possible to have 2 CLI groups (one at global level , one at project level) because of a bug in kedro==0.17.3 (#193)

Release 0.7.1

09 Apr 22:33
Compare
Choose a tag to compare

[0.7.1] - 2021-04-09

Added

  • It is now possible to deactivate tracking (for parameters and datasets) by specifying a key disabled_tracking: pipelines: [<pipeline-name>] in the mlflow.yml configuration file. (#92)

  • The kedro mlflow ui command host and port keys can be overwritten at runtime (#187)

Fixed

  • The kedro mlflow ui now reads properly the ui:host and ui:port keys from the mlflow.yml which were incorrectly ignored (#187)

Release 0.7.0

17 Mar 22:56
Compare
Choose a tag to compare

[0.7.0] - 2021-03-17

Added

  • kedro-mlflow now supports kedro>=0.17.1 (#144).

Changed

  • Drop support for kedro==0.17.0, since the kedro core team made a breaking change in 0.17.1. All future plugin updates will be only compatible with kedro>=0.17.1.