Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[tune](deps): Bump mlflow from 1.13.1 to 1.14.0 in /python/requirements #4

Closed

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Feb 20, 2021

Bumps mlflow from 1.13.1 to 1.14.0.

Release notes

Sourced from mlflow's releases.

MLflow 1.14.0

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:

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)

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 containing pandas.api.extensions.ExtensionDtype (#4069, @caleboverman)
  • Fix bug where mlflow_restore_run doesn't propagate the client parameter to mlflow_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)

Changelog

Sourced from mlflow's changelog.

1.14.0 (2021-02-18)

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 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)

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 containing pandas.api.extensions.ExtensionDtype (#4069, @caleboverman)
  • Fix bug where mlflow_restore_run doesn't propagate the client parameter to mlflow_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)

Commits
  • 9395672 Check DBFS FUSE availability before using it in mlflow.spark APIs (#4108) (#4...
  • 772a110 Update MLflow version to 1.14.0 (#4111)
  • 22b9826 SHAP Explainer Logging Integration (#3989)
  • 7beb91d [Follow-up for #4101] Fix broken autologging example tests (#4102)
  • f5825ac Support parsing df input with tensor schema and parsing tensor input with df ...
  • c573aaa Add monkey patching for old and new tf.Estimator classes (#4097)
  • 4ba469e Fix enable_test_mode_by_default_for_autologging_integrations (#4101)
  • f7fbaa4 Added tensor input support for ONNX and gluon flavors. (#4041)
  • b1e4023 Improve method to parse tf-serving json (#4099)
  • 1a6c7c1 Don't allow schema creation for multiple unnamed TensorSpecs (#4100)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Feb 20, 2021
@dependabot @github
Copy link
Author

dependabot bot commented on behalf of github Mar 6, 2021

Superseded by #7.

@dependabot dependabot bot closed this Mar 6, 2021
@dependabot dependabot bot deleted the dependabot/pip/python/requirements/mlflow-1.14.0 branch March 6, 2021 08:02
suquark pushed a commit that referenced this pull request Jul 27, 2022
We encountered SIGSEGV when running Python test `python/ray/tests/test_failure_2.py::test_list_named_actors_timeout`. The stack is:

```
#0  0x00007fffed30f393 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) ()
   from /lib64/libstdc++.so.6
#1  0x00007fffee707649 in ray::RayLog::GetLoggerName() () from /home/admin/dev/Arc/merge/ray/python/ray/_raylet.so
#2  0x00007fffee70aa90 in ray::SpdLogMessage::Flush() () from /home/admin/dev/Arc/merge/ray/python/ray/_raylet.so
#3  0x00007fffee70af28 in ray::RayLog::~RayLog() () from /home/admin/dev/Arc/merge/ray/python/ray/_raylet.so
#4  0x00007fffee2b570d in ray::asio::testing::(anonymous namespace)::DelayManager::Init() [clone .constprop.0] ()
   from /home/admin/dev/Arc/merge/ray/python/ray/_raylet.so
#5  0x00007fffedd0d95a in _GLOBAL__sub_I_asio_chaos.cc () from /home/admin/dev/Arc/merge/ray/python/ray/_raylet.so
#6  0x00007ffff7fe282a in call_init.part () from /lib64/ld-linux-x86-64.so.2
#7  0x00007ffff7fe2931 in _dl_init () from /lib64/ld-linux-x86-64.so.2
#8  0x00007ffff7fe674c in dl_open_worker () from /lib64/ld-linux-x86-64.so.2
#9  0x00007ffff7b82e79 in _dl_catch_exception () from /lib64/libc.so.6
#10 0x00007ffff7fe5ffe in _dl_open () from /lib64/ld-linux-x86-64.so.2
#11 0x00007ffff7d5f39c in dlopen_doit () from /lib64/libdl.so.2
#12 0x00007ffff7b82e79 in _dl_catch_exception () from /lib64/libc.so.6
#13 0x00007ffff7b82f13 in _dl_catch_error () from /lib64/libc.so.6
#14 0x00007ffff7d5fb09 in _dlerror_run () from /lib64/libdl.so.2
#15 0x00007ffff7d5f42a in dlopen@@GLIBC_2.2.5 () from /lib64/libdl.so.2
#16 0x00007fffef04d330 in py_dl_open (self=<optimized out>, args=<optimized out>)
    at /tmp/python-build.20220507135524.257789/Python-3.7.11/Modules/_ctypes/callproc.c:1369
```

The root cause is that when loading `_raylet.so`, `static DelayManager _delay_manager` is initialized and `RAY_LOG(ERROR) << "RAY_testing_asio_delay_us is set to " << delay_env;` is executed. However, the static variables declared in `logging.cc` are not initialized yet (in this case, `std::string RayLog::logger_name_ = "ray_log_sink"`).

It's better not to rely on the initialization order of static variables in different compilation units because it's not guaranteed. I propose to change all `RAY_LOG`s to `std::cerr` in `DelayManager::Init()`.

The crash happens in Ant's internal codebase. Not sure why this test case passes in the community version though.

BTW, I've tried different approaches:

1. Using a static local variable in `get_delay_us` and remove the global variable. This doesn't work because `init()` needs to access the variable as well.
2. Defining the global variable as type `std::unique_ptr<DelayManager>` and initialize it in `get_delay_us`. This works but it requires a lock to be thread-safe.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants