MLflow v1.14.0 Release Notes
Release Date: 2021-02-18 // about 3 years ago-
MLflow 1.14.0 includes several major 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 loadingshap.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) - 0๏ธโฃ
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)
๐ Bug fixes and documentation updates:
- Enable autologging for TensorFlow estimators that extend
tensorflow.compat.v1.estimator.Estimator
(#4097, @mohamad-arabi) - ๐ Fix for universal autolog configs overriding integration-specific configs (#4093, @dbczumar)
- ๐ Allow
mlflow.models.infer_signature
to handle dataframes containingpandas.api.extensions.ExtensionDtype
(#4069, @caleboverman) - โช Fix bug where
mlflow_restore_run
doesn't propagate theclient
parameter tomlflow_get_run
(#4003, @yitao-li) - ๐ Fix bug where scoring on served model fails when request data contains a string that looks like URL and pandas version is later than 1.1.0 (#3921, @Secbone)
- Fix bug causing
mlflow_list_experiments
to fail listing experiments with tags (#3942, @lorenzwalthert) - ๐ Fix bug where metrics plots are computed from incorrect target values in scikit-learn autologging (#3993, @mtrencseni)
- โ Remove redundant / verbose Python event logging message in autologging (#3978, @dbczumar)
- Fix bug where
mlflow_load_model
doesn't load metadata associated to MLflow model flavor in R (#3872, @yitao-li) - Fix
mlflow.spark.log_model
,mlflow.spark.load_model
APIs on passthrough-enabled environments against ACL'd artifact locations (#3443, @smurching)
โก๏ธ Small bug fixes and doc updates (#4102, #4101, #4096, #4091, #4067, #4059, #4016, #4054, #4052, #4051, #4038, #3992, #3990, #3981, #3949, #3948, #3937, #3834, #3906, #3774, #3916, #3907, #3938, #3929, #3900, #3902, #3899, #3901, #3891, #3889, @harupy; #4014, #4001, @dmatrix; #4028, #3957, @dbczumar; #3816, @lorenzwalthert; #3939, @pauldj54; #3740, @jkthompson; #4070, #3946, @jimmyxu-db; #3836, @t-henri; #3982, @neo-anderson; #3972, #3687, #3922, @eedeleon; #4044, @WeichenXu123; #4063, @yitao-li; #3976, @whiteh; #4110, @tomasatdatabricks; #4050, @apurva-koti; #4100, #4084, @wentinghu; #3947, @vperiyasamy; #4021, @trangevi; #3773, @ankan94; #4090, @jinzhang21; #3918, @danielfrg)
- ๐ MLflow's model inference APIs (