We are happy to announce the availability of MLflow 2.1.0!
MLflow 2.1.0 includes several major features and improvements
Features:
- [Recipes] Introduce support for multi-class classification (#7458, @mshtelma)
- [Recipes] Extend the pyfunc representation of classification models to output scores in addition to labels (#7474, @sunishsheth2009)
- [UI] Add user ID and lifecycle stage quick search links to the Runs page (#7462, @jaeday)
- [Tracking] Paginate the GetMetricHistory API (#7523, #7415, @BenWilson2)
- [Tracking] Add Runs search aliases for Run name and start time that correspond to UI column names (#7492, @apurva-koti)
- [Tracking] Add a
/version
endpoint tomlflow server
for querying the server's MLflow version (#7273, @joncarter1) - [Model Registry] Add FileStore support for the Model Registry (#6605, @serena-ruan)
- [Model Registry] Introduce an
mlflow.search_registered_models()
fluent API (#7428, @TSienki) - [Model Registry / Java] Add a
getRegisteredModel()
method to the Java client (#6602) (#7511, @drod331) - [Model Registry / R] Add an
mlflow_set_model_version_tag()
method to the R client (#7401, @leeweijie) - [Models] Introduce a
metadata
field to the MLmodel specification andlog_model()
methods (#7237, @jdonzallaz) - [Models] Extend
Model.load()
to support loading MLmodel specifications from remote locations (#7517, @dbczumar) - [Models] Pin the major version of MLflow in Models'
requirements.txt
andconda.yaml
files (#7364, @BenWilson2) - [Scoring] Extend
mlflow.pyfunc.spark_udf()
to support StructType results (#7527, @WeichenXu123) - [Scoring] Extend TensorFlow and Keras Models to support multi-dimensional inputs with
mlflow.pyfunc.spark_udf()
(#7531, #7291, @WeichenXu123) - [Scoring] Support specifying deployment environment variables and tags when deploying models to SageMaker (#7433, @jhallard)
Bug fixes:
- [Recipes] Fix a bug that prevented use of custom
early_stop
functions during model tuning (#7538, @sunishsheth2009) - [Recipes] Fix a bug in the logic used to create a Spark session during data ingestion (#7307, @WeichenXu123)
- [Tracking] Make the metric names produced by
mlflow.autolog()
consistent withmlflow.evaluate()
(#7418, @wenfeiy-db) - [Tracking] Fix an autologging bug that caused nested, redundant information to be logged for XGBoost and LightGBM models (#7404, @WeichenXu123)
- [Tracking] Correctly classify SQLAlchemy OperationalErrors as retryable HTTP errors (#7240, @barrywhart)
- [Artifacts] Correctly handle special characters in credentials when using FTP artifact storage (#7479, @HCTsai)
- [Models] Address an issue that prevented MLeap models from being saved on Windows (#6966, @dbczumar)
- [Scoring] Fix a permissions issue encountered when using NFS during model scoring with
mlflow.pyfunc.spark_udf()
(#7427, @WeichenXu123)
Documentation updates:
- [Docs] Add more examples to the Runs search documentation page (#7487, @apurva-koti)
- [Docs] Add documentation for Model flavors developed by the community (#7425, @mmerce)
- [Docs] Add an example for logging and scoring ONNX Models (#7398, @Rusteam)
- [Docs] Fix a typo in the model scoring REST API example for inputs with the
dataframe_split
format (#7540, @zhouyangyu) - [Docs] Fix a typo in the model scoring REST API example for inputs with the
dataframe_records
format (#7361, @dbczumar)
For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.