Skip to main content

MLflow 1.20.0

· 2 min read
MLflow maintainers
MLflow maintainers

We are happy to announce the availability of MLflow 1.20.0!

Note: The MLflow R package for 1.20.0 is not yet available but will be in a week because CRAN's submission system will be offline until September 1st.

In addition to bug and documentation fixes, MLflow 1.20.0 includes the following features and improvements:

  • Autologging for scikit-learn now records post training metrics when scikit-learn evaluation APIs, such as sklearn.metrics.mean_squared_error, are called (#4491, #4628 #4638, @WeichenXu123)
  • Autologging for PySpark ML now records post training metrics when model evaluation APIs, such as Evaluator.evaluate(), are called (#4686, @WeichenXu123)
  • Add pip_requirements and extra_pip_requirements to mlflow.*.log_model and mlflow.*.save_model for directly specifying the pip requirements of the model to log / save (#4519, #4577, #4602, @harupy)
  • Added stdMetrics entries to the training metrics recorded during PySpark CrossValidator autologging (#4672, @WeichenXu123)
  • MLflow UI updates:
    1. Improved scalability of the parallel coordinates plot for run performance comparison,
    2. Added support for filtering runs based on their start time on the experiment page,
    3. Added a dropdown for runs table column sorting on the experiment page,
    4. Upgraded the AG Grid plugin, which is used for runs table loading on the experiment page, to version 25.0.0,
    5. Fixed a bug on the experiment page that caused the metrics section of the runs table to collapse when selecting columns from other table sections (#4712, @dbczumar)
  • Added support for distributed execution to autologging for PyTorch Lightning (#4717, @dbczumar)
  • Expanded R support for Model Registry functionality (#4527, @bramrodenburg)
  • Added model scoring server support for defining custom prediction response wrappers (#4611, @Ark-kun)
  • mlflow.*.log_model and mlflow.*.save_model now automatically infer the pip requirements of the model to log / save based on the current software environment (#4518, @harupy)
  • Introduced support for running Sagemaker Batch Transform jobs with MLflow Models (#4410, #4589, @YQ-Wang)

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.

MLflow 1.20.1

· One min read
MLflow maintainers
MLflow maintainers

We are happy to announce the availability of MLflow 1.20.1!

MLflow 1.20.1 is a patch release containing the following bug fixes:

  • Avoid calling importlib_metadata.packages_distributions upon mlflow.utils.requirements_utils import (#4741, @dbczumar)
  • Avoid depending on importlib_metadata==4.7.0 (#4740, @dbczumar)

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.

MLflow 1.19.0

· One min read
MLflow maintainers
MLflow maintainers

We are happy to announce the availability of MLflow 1.19.0!

In addition to bug and documentation fixes, MLflow 1.19.0 includes the following features and improvements:

  • Add support for plotting per-class feature importance computed on linear boosters in XGBoost autologging (#4523, @dbczumar)
  • Add mlflow_create_registered_model and mlflow_delete_registered_model for R to create/delete registered models.
  • Add support for setting tags while resuming a run (#4497, @dbczumar)
  • MLflow UI updates (#4490, @sunishsheth2009)
    • Add framework for internationalization support.
    • Move metric columns before parameter and tag columns in the runs table.
    • Change the display format of run start time to elapsed time (e.g. 3 minutes ago) from timestamp (e.g. 2021-07-14 14:02:10) in the runs table.

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.

MLflow 1.18.0

· One min read
MLflow maintainers
MLflow maintainers

We are happy to announce the availability of MLflow 1.18.0!

In addition to bug and documentation fixes, MLflow 1.18.0 includes the following features and improvements:

  • Autologging performance improvements for XGBoost, LightGBM, and scikit-learn (#4416, #4473, @dbczumar)
  • Add new PaddlePaddle flavor to MLflow Models (#4406, #4439, @jinminhao)
  • Introduce paginated ListExperiments API (#3881, @wamartin-aml)
  • Include Runtime version for MLflow Models logged on Databricks (#4421, @stevenchen-db)
  • MLflow Models now log dependencies in pip requirements.txt format, in addition to existing conda format (#4409, #4422, @stevenchen-db)
  • Add support for limiting the number child runs created by autologging for scikit-learn hyperparameter search models (#4382, @mohamad-arabi)
  • Improve artifact upload / download performance on Databricks (#4260, @dbczumar)
  • Migrate all model dependencies from conda to "pip" section (#4393, @WeichenXu123)

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.

MLflow 1.17.0

· One min read
MLflow maintainers
MLflow maintainers

We are happy to announce the availability of MLflow 1.17.0!

In addition to bug and documentation fixes, MLflow 1.17.0 includes the following features and improvements:

  • Add support for hyperparameter-tuning models to mlflow.pyspark.ml.autolog() (#4270, @WeichenXu123)

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.

MLflow 1.16.0

· One min read
MLflow maintainers
MLflow maintainers

We are happy to announce the availability of MLflow 1.16.0!

In addition to bug and documentation fixes, MLflow 1.16.0 includes the following features and improvements:

  • Add mlflow.pyspark.ml.autolog() API for autologging of pyspark.ml estimators (#4228, @WeichenXu123)
  • Add mlflow.catboost.log_model, mlflow.catboost.save_model, mlflow.catboost.load_model APIs for CatBoost model persistence (#2417, @harupy)
  • Enable mlflow.pyfunc.spark_udf to use column names from model signature by default (#4236, @Loquats)
  • Add datetime data type for model signatures (#4241, @vperiyasamy)
  • Add mlflow.sklearn.eval_and_log_metrics API that computes and logs metrics for the given scikit-learn model and labeled dataset. (#4218, @alkispoly-db)

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.

MLflow 1.15.0

· One min read
MLflow maintainers
MLflow maintainers

We are happy to announce the availability of MLflow 1.15.0!

In addition to bug and documentation fixes, MLflow 1.15.0 includes the following features and improvements:

  • Add silent=False option to all autologging APIs, to allow suppressing MLflow warnings and logging statements during autologging setup and training (#4173, @dbczumar)
  • Add disable_for_unsupported_versions=False option to all autologging APIs, to disable autologging for versions of ML frameworks that have not been explicitly tested against the current version of the MLflow client (#4119, @WeichenXu123)

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.

MLflow 1.14.0

· 2 min read
MLflow maintainers
MLflow maintainers

We are happy to announce the availability of MLflow 1.14.0!

In addition to bug and documentation fixes, MLflow 1.14.0 includes the following features and improvements:

  • MLflow's model inference APIs (mlflow.pyfunc.predict), built-in model serving tools (mlflow models serve), and model signatures now support tensor inputs. In particular, MLflow now provides built-in support for scoring PyTorch, TensorFlow, Keras, ONNX, and Gluon models with tensor inputs. For more information, see https://mlflow.org/docs/latest/models.html#deploy-mlflow-models (#3808, #3894, #4084, #4068 @wentinghu; #4041 @tomasatdatabricks, #4099, @arjundc-db)
  • Add new mlflow.shap.log_explainer, mlflow.shap.load_explainer APIs for logging and loading shap.Explainer instances (#3989, @vivekchettiar)
  • The MLflow Python client is now available with a reduced dependency set via the mlflow-skinny PyPI package (#4049, @eedeleon)
  • Add new RequestHeaderProvider plugin interface for passing custom request headers with REST API requests made by the MLflow Python client (#4042, @jimmyxu-db)
  • mlflow.keras.log_model now saves models in the TensorFlow SavedModel format by default instead of the older Keras H5 format (#4043, @harupy)
  • mlflow_log_model now supports logging MLeap models in R (#3819, @yitao-li)
  • Add mlflow.pytorch.log_state_dict, mlflow.pytorch.load_state_dict for logging and loading PyTorch state dicts (#3705, @shrinath-suresh)
  • mlflow gc can now garbage-collect artifacts stored in S3 (#3958, @sklingel)

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.

MLflow 1.13.1

· One min read
MLflow maintainers
MLflow maintainers

We are happy to announce the availability of MLflow 1.13.1!

MLflow 1.13.1 is a patch release containing bug fixes and small changes:

  • Fix bug causing Spark autologging to ignore configuration options specified by mlflow.autolog() (#3917, @dbczumar)
  • Fix bugs causing metrics to be dropped during TensorFlow autologging (#3913, #3914, @dbczumar)
  • Fix incorrect value of optimizer name parameter in autologging PyTorch Lightning (#3901, @harupy)
  • Fix model registry database allow_null_for_run_id migration failure affecting MySQL databases (#3836, @t-henri)
  • Fix failure in transition_model_version_stage when uncanonical stage name is passed (#3929, @harupy)
  • Fix an undefined variable error causing AzureML model deployment to fail (#3922, @eedeleon)
  • Reclassify scikit-learn as a pip dependency in MLflow Model conda environments (#3896, @harupy)
  • Fix experiment view crash and artifact view inconsistency caused by artifact URIs with redundant slashes (#3928, @dbczumar)