Skip to content

MLflow 1.12.0

Compare
Choose a tag to compare
@harupy harupy released this 11 Nov 23:49
· 1959 commits to master since this release
4582e46

MLflow 1.12.0 includes several major features and improvements, in particular a number of improvements to autologging and MLflow's Pytorch integrations:

Features:

PyTorch:

  • mlflow.pytorch.log_model, mlflow.pytorch.load_model now support logging/loading TorchScript models (#3557, @shrinath-suresh)
  • mlflow.pytorch.log_model supports passing requirements_file & extra_files arguments to log additional artifacts along with a model (#3436, @shrinath-suresh)

Autologging:

  • Add universal mlflow.autolog which enables autologging for all supported integrations (#3561, #3590, @andrewnitu)
  • Add mlflow.pytorch.autolog API for automatic logging of metrics, params, and models from Pytorch Lightning training (#3601, @shrinath-suresh, #3636, @karthik-77). This API is also enabled by mlflow.autolog.
  • Scikit-learn, XGBoost, and LightGBM autologging now support logging model signatures and input examples (#3386, #3403, #3449, @andrewnitu)
  • mlflow.sklearn.autolog now supports logging metrics (e.g. accuracy) and plots (e.g. confusion matrix heat map) (#3423, #3327, @willzhan-db, @harupy)

More features and improvements:

  • Add mlflow.shap.log_explanation for logging model explanations generated by SHAP (#3513, @harupy)
  • log_model and create_model_version now supports an await_creation_for argument (#3376, @andychow-db)
  • Put preview paths before non-preview paths for backwards compatibility (#3648, @sueann)
  • Clean up model registry endpoint and client method definitions (#3610, @sueann)
  • MLflow deployments plugin now supports 'predict' CLI command (#3597, @shrinath-suresh)
  • Support H2O for R (#3416, @yitao-li)
  • Add MLFLOW_S3_IGNORE_TLS environment variable to enable skipping TLS verification of S3 endpoint (#3345, @dolfinus)

Bug fixes and documentation updates:

  • Ensure that results are synced across distributed processes if ddp enabled (no-op else) (#3651, @SeanNaren)
  • Remove optimizer step override to ensure that all accelerator cases are covered by base module (#3635, @SeanNaren)
  • Fix AttributeError in keras autologgging (#3611, @sephib)
  • Scikit-learn autologging: Exclude feature extraction / selection estimator (#3600, @dbczumar)
  • Scikit-learn autologging: Fix behavior when a child and its parent are both patched (#3582, @dbczumar)
  • Fix a bug where lightgbm.Dataset(None) fails after running mlflow.lightgbm.autolog (#3594, @harupy)
  • Fix a bug where xgboost.DMatrix(None) fails after running mlflow.xgboost.autolog (#3584, @harupy)
  • Pass docker_args in non-synchronous mlflow project runs (#3563, @alfozan)
  • Fix a bug of FTPArtifactRepository.log_artifacts with artifact_path keyword argument (issue #3388) (#3391, @kzm4269)
  • Exclude preprocessing & imputation steps from scikit-learn autologging (#3491, @dbczumar)
  • Fix duplicate stderr logging during artifact logging and project execution in the R client (#3145, @yitao-li)
  • Don't call atexit.register(_flush_queue) in __main__ scope of mlflow/tensorflow.py (#3410, @harupy)
  • Fix for restarting terminated run not setting status correctly (#3329, @apurva-koti)
  • Fix model version run_link URL for some Databricks regions (#3417, @sueann)
  • Skip JSON validation when endpoint is not MLflow REST API (#3405, @harupy)
  • Document mlflow-torchserve plugin (#3634, @karthik-77)
  • Add mlflow-elasticsearchstore to the doc (#3462, @AxelVivien25)
  • Add code snippets for fluent and MlflowClient APIs (#3385, #3437, #3489 #3573, @dmatrix)
  • Document mlflow-yarn backend (#3373, @fhoering)
  • Fix a breakage in loading Tensorflow and Keras models (#3667, @tomasatdatabricks)

Small bug fixes and doc updates:

#3607, #3616, #3534, #3598, #3542, #3568, #3349, #3554, #3544, #3541, #3533, #3535, #3516, #3512, #3497, #3522, #3521, #3492, #3502, #3434, #3422, #3394, #3387, #3294, #3324, #3654, @harupy; #3451, @jgc128; #3638, #3632, #3608, #3452, #3399, @shrinath-suresh; #3495, #3459, #3662, #3668, #3670 @smurching; #3488, @edgan8; #3639, @karthik-77; #3589, #3444, #3276, @lorenzwalthert; #3538, #3506, #3509, #3507, #3510, #3508, @rahulporuri; #3504, @sbrugman; #3486, #3466, @apurva-koti; #3477, @juntai-zheng; #3617, #3609, #3605, #3603, #3560, @dbczumar; #3411, @danielvdende; #3377, @willzhan-db; #3420, #3404, @andrewnitu; #3591, @mateiz; #3465, @abawchen; #3543, @emptalk; #3302, @bramrodenburg; #3468, @ghisvail; #3496, @extrospective; #3549, #3501, #3435, @yitao-li; #3243, @OlivierBondu; #3439, @andrewnitu; #3651, #3635 @SeanNaren, #3470, @ankit-db