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

update rai-core-flask by closing WSGIServer on separate thread to fix segfault errors and get the rai-core-flask release builds working again #1852

Merged
merged 1 commit into from
Dec 16, 2022

Conversation

imatiach-msft
Copy link
Contributor

@imatiach-msft imatiach-msft commented Dec 14, 2022

Description

Update: instead of pinning, I found that closing WSGIServer on a separate thread seems to fix the segfaults, and doing the pinning is not necessary. See related stackoverflow about graceful shutdown of WSGIServer:

https://stackoverflow.com/questions/18277048/gevent-pywsgi-graceful-shutdown

=====

rai-core-flask package release seems to be failing on errors in tests from some segfaults: https://github.com/microsoft/responsible-ai-toolbox/actions/runs/3699568450

It seems the latest versions of greenlet v2.0 and gevent are less stable and fail with segfaults. Pinning here to <2.0 and corresponding gevent version until newer packages are released that are more stable.

Checklist

  • I have added screenshots above for all UI changes.
  • I have added e2e tests for all UI changes.
  • Documentation was updated if it was needed.

@codecov-commenter
Copy link

codecov-commenter commented Dec 15, 2022

Codecov Report

Merging #1852 (5a0d209) into main (2b48aa3) will increase coverage by 10.35%.
The diff coverage is 50.00%.

@@             Coverage Diff             @@
##             main    #1852       +/-   ##
===========================================
+ Coverage   79.00%   89.35%   +10.35%     
===========================================
  Files          19      118       +99     
  Lines        1324     5927     +4603     
===========================================
+ Hits         1046     5296     +4250     
- Misses        278      631      +353     
Flag Coverage Δ
unittests 89.35% <50.00%> (+10.35%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
rai_core_flask/rai_core_flask/flask_helper.py 95.38% <50.00%> (ø)
...ibleai/responsibleai/managers/explainer_manager.py 89.55% <0.00%> (ø)
...ponsibleai/responsibleai/_tools/causal/__init__.py 100.00% <0.00%> (ø)
erroranalysis/erroranalysis/report/__init__.py 100.00% <0.00%> (ø)
raiutils/raiutils/webservice/webservice.py 100.00% <0.00%> (ø)
...i/responsibleai/managers/counterfactual_manager.py 97.78% <0.00%> (ø)
.../databalanceanalysis/aggregate_balance_measures.py 92.85% <0.00%> (ø)
...ai/databalanceanalysis/feature_balance_measures.py 100.00% <0.00%> (ø)
erroranalysis/erroranalysis/analyzer/__init__.py 100.00% <0.00%> (ø)
responsibleai/responsibleai/_interfaces.py 100.00% <0.00%> (ø)
... and 90 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

1 similar comment
@imatiach-msft
Copy link
Contributor Author

this pin might not be needed, just the other fix:

greenlet>=1.1.2,<2.0.0 # wait until 2.0 is more stable
gevent>=21.12.0,<22.10.2

@imatiach-msft imatiach-msft force-pushed the ilmat/add-upper-bounds-greenlet-gevent-flask branch from c320537 to 38ace98 Compare December 15, 2022 18:26
@imatiach-msft imatiach-msft force-pushed the ilmat/add-upper-bounds-greenlet-gevent-flask branch from 38ace98 to 5a0d209 Compare December 15, 2022 18:27
@imatiach-msft imatiach-msft changed the title add upper bounds to greenlet and gevent in rai-core-flask as 5.0 release fails until they are more stable update rai-core-flask by closing WSGIServer on separate thread to fix segfault errors and get the rai-core-flask release builds working again Dec 15, 2022
@imatiach-msft imatiach-msft merged commit ef36ce2 into main Dec 16, 2022
@imatiach-msft imatiach-msft deleted the ilmat/add-upper-bounds-greenlet-gevent-flask branch December 16, 2022 18:37
gaugup pushed a commit that referenced this pull request Dec 19, 2022
gaugup pushed a commit that referenced this pull request Jan 6, 2023
gaugup added a commit that referenced this pull request Jan 6, 2023
* Add missing property 'id' in ICounterfactualData

Signed-off-by: Gaurav Gupta <[email protected]>

* Update some sample notebooks to include dropped_features (#1836)

* update some notebooks to include dropped_features

* update some notebooks to include dropped_features

* update some notebooks to include dropped_features

* remove unused changes

* remove unused changes

* address comments

* upgrade setup-python github action from v2 to v4 and pin to older ubuntu image for python 3.6 to fix build error (#1838)

* Gate call to probability distribution end point (#1839)

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

* Revert "Update some sample notebooks to include dropped_features (#1836)" (#1837)

This reverts commit d89b03a.

* fix cf error on unable to update text (#1842)

* Disable partial dependence plots for large data scenarios (#1843)

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

* Remove redundant call to serialize_json_safe() in raiwidgets causal tests (#1840)

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

* Fetching global causal effects and global policy from SDK backend (#1753)

* Add callback for global causal effects

Signed-off-by: Gaurav Gupta <[email protected]>

* Query SDK backend to get global causal effects

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix bug in causal serialization

Signed-off-by: Gaurav Gupta <[email protected]>

* Adding callback for causal ploicy

Signed-off-by: Gaurav Gupta <[email protected]>

* propagate global and local effects only

Signed-off-by: Gaurav Gupta <[email protected]>

* Add support for getting global causal effects from SDK backend

Signed-off-by: Gaurav Gupta <[email protected]>

* lint fix

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix lint

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix bug

Signed-off-by: Gaurav Gupta <[email protected]>

* Modify the cohort message

Signed-off-by: Gaurav Gupta <[email protected]>

* Move to state

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix imports

Signed-off-by: Gaurav Gupta <[email protected]>

* Remove console.log

Signed-off-by: Gaurav Gupta <[email protected]>

* Change the if condition

Signed-off-by: Gaurav Gupta <[email protected]>

* Add postga build trigger (#1755) (#1756)

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

* Add model wrapper for wrapping predictions and test data (#1762)

* Add model wrapper for wrapping predictions and test data

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix failing tests

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix lint

Signed-off-by: Gaurav Gupta <[email protected]>

* Remove force update

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix lint

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

* Update requirements-linting.txt (#1847)

* Remove typo casual and correcting it to causal (#1846)

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

* Disable local causal chart for large data support (#1845)

* Disable local causal chart for large data support

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix lint

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

* add multilabel text example and fix correct and incorrect groups in data analysis (#1848)

* Add number of cohort samples inside generateMetrics() (#1849)

* Add number of cohort samples inside generateMetrics()

Signed-off-by: Gaurav Gupta <[email protected]>

* Yarn lintfix

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

* add multilabel RAI vision example for fridge multilabel dataset (#1844)

* fix install command for speech to text example (#1856)

* Send the correct column name to SDK backend for model overview distribution charts (#1835)

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

* Derive fairness metrics from metric stats instead of cohort stats (#1854)

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

* add upper bounds to greenlet and gevent in rai-core-flask as 5.0 release fails until they are more stable (#1852)

* fix loading older versions of RAIInsights due to _FEATURE_METADATA key error (#1857)

* Update maintainers (#1860)

* Update requirements.txt in `raiwidgets` and `responsibleai` to pin numpy upper bound (#1864)

* Update requirements.txt

* Update requirements.txt

* Port `cohort.py` from `raiwidgets` to `raiutils` (#1859)

* Port cohort.py from raiwidgets to raiutils

Signed-off-by: Gaurav Gupta <[email protected]>

* Add more constants

Signed-off-by: Gaurav Gupta <[email protected]>

* Add constants.py

Signed-off-by: Gaurav Gupta <[email protected]>

* Make constants public

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

* Add common APIs for model overview metrics (#1862)

* Add metric SDK APIs for Model Overview metrics

Signed-off-by: Gaurav Gupta <[email protected]>

* remove console.log()

Signed-off-by: Gaurav Gupta <[email protected]>

* Port `cohort.py` from `raiwidgets` to `raiutils` (#1859)

* Port cohort.py from raiwidgets to raiutils

Signed-off-by: Gaurav Gupta <[email protected]>

* Add more constants

Signed-off-by: Gaurav Gupta <[email protected]>

* Add constants.py

Signed-off-by: Gaurav Gupta <[email protected]>

* Make constants public

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix lint

Signed-off-by: Gaurav Gupta <[email protected]>

* lint fix

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix lint

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix lint

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

* Update requirements-linting.txt (#1861)

* update raiwidgets to rai-core-flask v0.5.0 (#1851)

* fix error in erroranalysis heatmap caused by max value over right side of max bin (#1866)

* remove dead space in aggregate feature importance (#1869)

* display tree branching decisions (#1870)

* Remove warning for 'dropped_features are not in use currently.' (#1871)

* display tree branching decisions

* Remove warning for 'dropped_features are not in use currently.'

* turn off fail-fast for python tests (#1878)

* add multilabel model overview metrics (#1882)

* Show branching decisions on hover over on unselected tree nodes (#1881)

* show tree label on hover over

* address comments

* Update some sample notebooks to include dropped_features (#1836)

* update some notebooks to include dropped_features

* update some notebooks to include dropped_features

* update some notebooks to include dropped_features

* remove unused changes

* remove unused changes

* address comments

* Revert "Update some sample notebooks to include dropped_features (#1836)" (#1837)

This reverts commit d89b03a.

* Update requirements-linting.txt (#1847)

* Add number of cohort samples inside generateMetrics() (#1849)

* Add number of cohort samples inside generateMetrics()

Signed-off-by: Gaurav Gupta <[email protected]>

* Yarn lintfix

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

* Update requirements-linting.txt (#1861)

* add multilabel model overview metrics (#1882)

* Update `raiutils` in `raiwidgets`, `responsibleai`, `erroranalysis` and `nlp_feature_extractors` (#1873)

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix test

Signed-off-by: Gaurav Gupta <[email protected]>

* Undo changes

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix lint

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>
Co-authored-by: tongy-msft <[email protected]>
Co-authored-by: Ilya Matiach <[email protected]>
Co-authored-by: Roman Lutz <[email protected]>
gaugup added a commit that referenced this pull request Jan 9, 2023
* Refactor metric computation in ModelOverview

Signed-off-by: Gaurav Gupta <[email protected]>

* Move metrics to state management

Signed-off-by: Gaurav Gupta <[email protected]>

* add multilabel RAI vision example for fridge multilabel dataset (#1844)

* fix install command for speech to text example (#1856)

* Send the correct column name to SDK backend for model overview distribution charts (#1835)

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

* Derive fairness metrics from metric stats instead of cohort stats (#1854)

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>

* add upper bounds to greenlet and gevent in rai-core-flask as 5.0 release fails until they are more stable (#1852)

* fix loading older versions of RAIInsights due to _FEATURE_METADATA key error (#1857)

* Fix build

Signed-off-by: Gaurav Gupta <[email protected]>

* Change cohort updation and deletion logic

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix lint

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix code review comments

Signed-off-by: Gaurav Gupta <[email protected]>

* Add delete logic for selected cohort index

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix code review comments part-2

Signed-off-by: Gaurav Gupta <[email protected]>

* Remove unnecessary condition

Signed-off-by: Gaurav Gupta <[email protected]>

Signed-off-by: Gaurav Gupta <[email protected]>
Co-authored-by: Ilya Matiach <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants