Mlflow

Latest version: v2.19.0

Safety actively analyzes 687959 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 16 of 18

0.9.1

Not secure
MLflow 0.9.1 is a patch release on top of 0.9.0 containing mostly bug fixes and internal improvements. We have also included a one breaking API change in preparation for additions in MLflow 1.0 and later. This release also includes significant improvements to the Search API.

Breaking changes:

- [Tracking] Generalized experiment_id to string (from a long) to be more permissive of different ID types in different backend stores. While breaking for the REST API, this change is backwards compatible for python and R clients. (1067, 1034 eedeleon)

More features and improvements:

- [Search/API] Moving search filters into a query string based syntax, with Java client, Python client, and UI support. This also improves quote, period, and special character handling in query strings and adds the ability to search on tags in filter string. (1042, 1055, 1063, 1068, 1099, 1106 mparkhe; 1025 andrewmchen; 1060 smurching)
- [Tracking] Limits and validations to batch-logging APIs in OSS server (958 smurching)
- [Tracking/Java] Java client API for batch-logging (1081 mparkhe)
- [Tracking] Improved consistency of handling multiple metric values per timestamp across tracking stores (972, 999 dbczumar)

Bug fixes and documentation updates:

- [Tracking/Python] Reintroduces the parent_run_id argument to MlflowClient.create_run. This API is planned for removal in MLflow 1.0 (1137 smurching)
- [Tracking/Python] Provide default implementations of AbstractStore log methods (1051 acroz)
- [R] (Released on CRAN as MLflow 0.9.0.1) Small bug fixes with R (1123 smurching; 1045, 1017, 1019, 1039, 1048, 1098, 1101, 1107, 1108, 1119 tomasatdatabricks)

Small bug fixes and doc updates (1024, 1029 bayethiernodiop; 1075 avflor; 968, 1010, 1070, 1091, 1092 smurching; 1004, 1085 dbczumar; 1033, 1046 sueann; 1053 tomasatdatabricks; 987 hanyucui; 935, 941 jimthompson5802; 963 amilbourne; 1016 andrewmchen; 991 jaroslawk; 1007 mparkhe)

0.9.0.1

Not secure
Bugfix release (PyPI only) with the following changes:

- Rebuilt MLflow JS assets to fix an issue where form input was broken in MLflow 0.9.0 (identified
in 1056, 1113 by shu-yusa, timothyjlaurent)

0.9.0 (2019-03-13)

Major features:

- Support for running MLflow Projects in Docker containers. This allows you to include non-Python dependencies in their project environments and provides stronger isolation when running projects. See the [Projects documentation](https://mlflow.org/docs/latest/projects.html) for more information. (#555, marcusrehm; 819, mparkhe; 970, dbczumar)
- Database stores for the MLflow Tracking Server. Support for a scalable and performant backend store was one of the top community requests. This feature enables you to connect to local or remote SQLAlchemy-compatible databases (currently supported flavors include MySQL, PostgreSQL, SQLite, and MS SQL) and is compatible with file backed store. See the [Tracking Store documentation](https://mlflow.org/docs/latest/tracking.html#storage) for more information. (756, AndersonReyes; 800, 844, 847, 848, 860, 868, 975, mparkhe; 980, dbczumar)
- Simplified custom Python model packaging. You can easily include custom preprocessing and postprocessing logic, as well as data dependencies in models with the `python_function` flavor using updated `mlflow.pyfunc` Python APIs. For more information, see the [Custom Python Models documentation](https://mlflow.org/docs/latest/models.html#custom-python-models). (791, 792, 793, 830, 910, dbczumar)
- Plugin systems allowing third party libraries to extend MLflow functionality. The [proposal document](https://gist.github.com/zblz/9e337a55a7ba73314890be68370fa69a) gives the full detail of the three main changes:

- You can register additional providers of tracking stores using the `mlflow.tracking_store` entrypoint. (881, zblz)
- You can register additional providers of artifact repositories using the `mlflow.artifact_repository` entrypoint. (882, mociarain)
- The logic generating run metadata from the run context (e.g. `source_name`, `source_version`) has been refactored into an extendable system of run context providers. Plugins can register additional providers using the `mlflow.run_context_provider` entrypoint, which add to or overwrite tags set by the base library. (913, 926, 930, 978, acroz)

- Support for HTTP authentication to the Tracking Server in the R client. Now you can connect to secure Tracking Servers using credentials set in environment variables, or provide custom plugins for setting the credentials. As an example, this release contains a Databricks plugin that can detect existing Databricks credentials to allow you to connect to the Databricks Tracking Server. (938, 959, 992, tomasatdatabricks)

Breaking changes:

- [Scoring] The `pyfunc` scoring server now expects requests with the `application/json` content type to contain json-serialized pandas dataframes in the split format, rather than the records format. See the [documentation on deployment](https://mlflow.org/docs/latest/models.html#deploy-a-python-function-model-as-a-local-rest-api-endpoint) for more detail. (960, dbczumar) Also, when reading the pandas dataframes from JSON, the scoring server no longer automatically infers data types as it can result in unintentional conversion of data types (916, mparkhe).
- [API] Remove `GetMetric` & `GetParam` from the REST API as they are subsumed by `GetRun`. (879, aarondav)

More features and improvements:

- [UI] Add a button for downloading artifacts (967, mateiz)
- [CLI] Add CLI commands for runs: now you can `list`, `delete`, `restore`, and `describe` runs through the CLI (720, DorIndivo)
- [CLI] The `run` command now can take `--experiment-name` as an argument, as an alternative to the `--experiment-id` argument. You can also choose to set the `_EXPERIMENT_NAME_ENV_VAR` environment variable instead of passing in the value explicitly. (889, 894, mparkhe)
- [Examples] Add Image classification example with Keras. (743, tomasatdatabricks )
- [Artifacts] Add `get_artifact_uri()` and `_download_artifact_from_uri` convenience functions (779)
- [Artifacts] Allow writing Spark models directly to the target artifact store when possible (808, smurching)
- [Models] PyTorch model persistence improvements to allow persisting definitions and dependencies outside the immediate scope:
- Add a `code_paths` parameter to `mlflow.pytorch.save_model` and `mlflow.pytorch.log_model` to allow external module dependencies to be specified as paths to python files. (842, dbczumar)
- Improve `mlflow.pytorch.save_model` to capture class definitions from notebooks and the `__main__` scope (851, 861, dbczumar)
- [Runs/R] Allow client to infer context info when creating new run in fluent API (958, tomasatdatabricks)
- [Runs/UI] Support Git Commit hyperlink for Gitlab and Bitbucket. Previously the clickable hyperlink was generated only for Github pages. (901)
- [Search]/API] Allow param value to have any content, not just alphanumeric characters, `.`, and `-` (788, mparkhe)
- [Search/API] Support "filter" string in the `SearchRuns` API. Corresponding UI improvements are planned for the future (905, mparkhe)
- [Logging] Basic support for LogBatch. NOTE: The feature is currently experimental and the behavior is expected to change in the near future. (950, 951, 955, 1001, smurching)

Bug fixes and documentation updates:

- [Artifacts] Fix empty-file upload to DBFS in `log_artifact` and `log_artifacts` (895, 818, smurching)
- [Artifacts] S3 artifact store: fix path resolution error when artifact root is bucket root (928, dbczumar)
- [UI] Fix a bug with Databricks notebook URL links (891, smurching)
- [Export] Fix for missing run name in csv export (864, jimthompson5802)
- [Example] Correct missing tensorboardX module error in PyTorch example when running in MLflow Docker container (809, jimthompson5802)
- [Scoring/R] Fix local serving of rfunc models (874, kevinykuo)
- [Docs] Improve flavor-specific documentation in Models documentation (909, dbczumar)

Small bug fixes and doc updates (822, 899, 787, 785, 780, 942, hanyucui; 862, 904, 954, 806, 857, 845, stbof; 907, 872, smurching; 896, 858, 836, 859, 923, 939, 933, 931, 952, dbczumar; 880, zblz; 876, acroz; 827, 812, 816, 829, jimthompson5802; 837, 790, 897, 974, 900, mparkhe; 831, 798, aarondav; 814, sueann; 824, 912, mateiz; 922, 947, tomasatdatabricks; 795, KevYuen; 676, mlaradji; 906, 4n4nd; 777, tmielika; 804, alkersan)

0.8.2

Not secure
MLflow 0.8.2 is a patch release on top of 0.8.1 containing only bug fixes and no breaking changes or features.

Bug fixes:

- [Python API] CloudPickle has been added to the set of MLflow library dependencies, fixing missing import errors when attempting to save models (777, tmielika)
- [Python API] Fixed a malformed logging call that prevented `mlflow.sagemaker.push_image_to_ecr()` invocations from succeeding (784, jackblandin)
- [Models] PyTorch models can now be saved with code dependencies, allowing model classes to be loaded successfully in new environments (842, 836, dbczumar)
- [Artifacts] Fixed a timeout when logging zero-length files to DBFS artifact stores (818, smurching)

Small docs updates (845, stbof; 840, grahamhealy20; 839, wilderrodrigues)

0.8.1

Not secure
- Improved UI responsiveness and load time, especially when displaying experiments containing hundreds to thousands of runs.
- Improved visualizations, including interactive scatter plots for MLflow run comparisons
- Expanded support for scoring Python models as Spark UDFs. For more information, see the [updated documentation for this feature](https://mlflow.org/docs/latest/models.html#export-a-python-function-model-as-an-apache-spark-udf).
- By default, saved models will now include a Conda environment specifying all of the dependencies necessary for loading them in a new environment.

Features:

- [API/CLI] Support for running MLflow projects from ZIP files (759, jmorefieldexpe)
- [Python API] Support for passing model conda environments as dictionaries to `save_model` and `log_model` functions (748, dbczumar)
- [Models] Default Anaconda environments have been added to many Python model flavors. By default, models produced by `save_model` and `log_model` functions will include an environment that specifies all of the versioned dependencies necessary to load and serve the models. Previously, users had to specify these environments manually. (705, 707, 708, 749, dbczumar)
- [Scoring] Support for synchronous deployment of models to SageMaker (717, dbczumar)
- [Tracking] Include the Git repository URL as a tag when tracking an MLflow run within a Git repository (741, whiletruelearn, mateiz)
- [UI] Improved runs UI performance by using a react-virtualized table to optimize row rendering (765, 762, 745, smurching)
- [UI] Significant performance improvements for rendering run metrics, tags, and parameter information (764, 747, smurching)
- [UI] Scatter plots, including run comparsion plots, are now interactive (737, mateiz)
- [UI] Extended CSRF support by allowing the MLflow UI server to specify a set of expected headers that clients should set when making AJAX requests (733, aarondav)

Bug fixes and documentation updates:

- [Python/Scoring] MLflow Python models that produce Pandas DataFrames can now be evaluated as Spark UDFs correctly. Spark UDF outputs containing multiple columns of primitive types are now supported (719, tomasatdatabricks)
- [Scoring] Fixed a serialization error that prevented models served with Azure ML from returning Pandas DataFrames (754, dbczumar)
- [Docs] New example demonstrating how the MLflow REST API can be used to create experiments and log run information (750, kjahan)
- [Docs] R documentation has been updated for clarity and style consistency (683, stbof)
- [Docs] Added clarification about user setup requirements for executing remote MLflow runs on Databricks (736, andyk)

Small bug fixes and doc updates (768, 715, smurching; 728, dodysw; 730, mshr-h; 725, kryptec; 769, 721, dbczumar; 714, stbof)

0.8.0

Not secure
- Dramatically improved UI for comparing experiment run results:

- Metrics and parameters are by default grouped into a single column, to avoid an explosion of mostly-empty columns. Individual metrics and parameters can be moved into their own column to help compare across rows.
- Runs that are "nested" inside other runs (e.g., as part of a hyperparameter search or multistep workflow) now show up grouped by their parent run, and can be expanded or collapsed altogether. Runs can be nested by calling `mlflow.start_run` or `mlflow.run` while already within a run.
- Run names (as opposed to automatically generated run UUIDs) now show up instead of the run ID, making comparing runs in graphs easier.
- The state of the run results table, including filters, sorting, and expanded rows, is persisted in browser local storage, making it easier to go back and forth between an individual run view and the table.

- Support for deploying models as Docker containers directly to Azure Machine Learning Service Workspace (as opposed to the previously-recommended solution of Azure ML Workbench).

Breaking changes:

- [CLI] `mlflow sklearn serve` has been removed in favor of `mlflow pyfunc serve`, which takes the same arguments but works against any pyfunc model (690, dbczumar)

Features:

- [Scoring] pyfunc server and SageMaker now support the pandas "split" JSON format in addition to the "records" format. The split format allows the client to specify the order of columns, which is necessary for some model formats. We recommend switching client code over to use this new format (by sending the Content-Type header `application/json; format=pandas-split`), as it will become the default JSON format in MLflow 0.9.0. (690, dbczumar)
- [UI] Add compact experiment view (546, 620, 662, 665, smurching)
- [UI] Add support for viewing & tracking nested runs in experiment view (588, andrewmchen; 618, 619, aarondav)
- [UI] Persist experiments view filters and sorting in browser local storage (687, smurching)
- [UI] Show run name instead of run ID when present (476, smurching)
- [Scoring] Support for deploying Models directly to Azure Machine Learning Service Workspace (631, dbczumar)
- [Server/Python/Java] Add `rename_experiment` to Tracking API (570, aarondav)
- [Server] Add `get_experiment_by_name` to RestStore (592, dmarkhas)
- [Server] Allow passing gunicorn options when starting mlflow server (626, mparkhe)
- [Python] Cloudpickle support for sklearn serialization (653, dbczumar)
- [Artifacts] FTP artifactory store added (287, Shenggan)

Bug fixes and documentation updates:

- [Python] Update TensorFlow integration to match API provided by other flavors (612, dbczumar; 670, mlaradji)
- [Python] Support for TensorFlow 1.12 (692, smurching)
- [R] Explicitly loading Keras module at predict time no longer required (586, kevinykuo)
- [R] pyfunc serve can correctly load models saved with the R Keras support (634, tomasatdatabricks)
- [R] Increase network timeout of calls to the RestStore from 1 second to 60 seconds (704, aarondav)
- [Server] Improve errors returned by RestStore (582, andrewmchen; 560, smurching)
- [Server] Deleting the default experiment no longer causes it to be immediately recreated (604, andrewmchen; 641, schipiga)
- [Server] Azure Blob Storage artifact repo supports Windows paths (642, marcusrehm)
- [Server] Improve behavior when environment and run files are corrupted (632, 654, 661, mparkhe)
- [UI] Improve error page when viewing nonexistent runs or views (600, andrewmchen; 560, andrewmchen)
- [UI] UI no longer throws an error if all experiments are deleted (605, andrewmchen)
- [Docs] Include diagram of workflow for multistep example (581, dennyglee)
- [Docs] Add reference tags and R and Java APIs to tracking documentation (514, stbof)
- [Docs/R] Use CRAN installation (686, javierluraschi)

Small bug fixes and doc updates (576, 594, javierluraschi; 585, kevinykuo; 593, 601, 611, 650, 669, 671, 679, dbczumar; 607, suzil; 583, 615, andrewmchen; 622, 681, aarondav; 625, pogil; 589, tomasatdatabricks; 529, 635, 684, stbof; 657, mvsusp; 682, mateiz; 678, vfdev-5; 596, yutannihilation; 663, smurching)

0.7.0

Not secure
- An R client API (to be released on CRAN soon)
- Support for deleting runs (API + UI)
- UI support for adding notes to a run

The release also includes bugfixes and improvements across the Python and Java clients, tracking UI,
and documentation.

Breaking changes:

- [Python] The per-flavor implementation of load_pyfunc has been made private (539, tomasatdatabricks)
- [REST API, Java] logMetric now accepts a double metric value instead of a float (566, aarondav)

Features:

- [R] Support for R (370, 471, javierluraschi; 548 kevinykuo)
- [UI] Add support for adding notes to Runs (396, aadamson)
- [Python] Python API, REST API, and UI support for deleting Runs (418, 473, 526, 579 andrewmchen)
- [Python] Set a tag containing the branch name when executing a branch of a Git project (469, adrian555)
- [Python] Add a set_experiment API to activate an experiment before starting runs (462, mparkhe)
- [Python] Add arguments for specifying a parent run to tracking & projects APIs (547, andrewmchen)
- [Java] Add Java set tag API (495, smurching)
- [Python] Support logging a conda environment with sklearn models (489, dbczumar)
- [Scoring] Support downloading MLflow scoring JAR from Maven during scoring container build (507, dbczumar)

Bug fixes:

- [Python] Print errors when the Databricks run fails to start (412, andrewmchen)
- [Python] Fix Spark ML PyFunc loader to work on Spark driver (480, tomasatdatabricks)
- [Python] Fix Spark ML load_pyfunc on distributed clusters (490, tomasatdatabricks)
- [Python] Fix error when downloading artifacts from a run's artifact root (472, dbczumar)
- [Python] Fix DBFS upload file-existence-checking logic during Databricks project execution (510, smurching)
- [Python] Support multi-line and unicode tags (502, mparkhe)
- [Python] Add missing DeleteExperiment, RestoreExperiment implementations in the Python REST API client (551, mparkhe)
- [Scoring] Convert Spark DataFrame schema to an MLeap schema prior to serialization (540, dbczumar)
- [UI] Fix bar chart always showing in metric view (488, smurching)

Small bug fixes and doc updates (467 drorata; 470, 497, 508, 518 dbczumar; 455, 466, 492, 504, 527 aarondav; 481, 475, 484, 496, 515, 517, 498, 521, 522, 573 smurching; 477 parkerzf; 494 jainr; 501, 531, 532, 552 mparkhe; 503, 520 dmatrix; 509, 532 tomasatdatabricks; 484, 486 stbof; 533, 534 javierluraschi; 542 GCBallesteros; 511 AdamBarnhard)

Page 16 of 18

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.