gempy icon indicating copy to clipboard operation
gempy copied to clipboard

use aesara and pymc4 instead of theano and pymc3

Open AndrewAnnex opened this issue 3 years ago • 3 comments

…No clue if CI builds would work. todo need to update the github worker to allow this branch to run.

likely there are a lot of api breaking changes I did not address here, I did not attempt to run it locally yet. Also the CI environment for gempy is a bit confusing (still using travis?). Likely these scripts could be cleaned up a bit more to make testing easier

Description

swap out all usage of theano for aesara and pymc3 for pymc4.

Relates to #701

Checklist

  • [ ] My code follows the PEP 8 style guidelines.
  • [ ] My code uses type hinting for function and method arguments and return values.
  • [ ] My code contains descriptive and helpful docstrings which are formatted per the Google Python Style Guidelines.
  • [ ] I have created tests which entirely cover my code.
  • [ ] The test code either 1. demonstrates at least one valuable use case (e.g. integration tests) or 2. verifies that outputs are as expected for given inputs (e.g. unit tests).
  • [ ] New and existing tests pass locally with my changes.

AndrewAnnex avatar Jun 27 '22 21:06 AndrewAnnex

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

The checks were always failing at the installation step. Apparently with aesara 2.7.8 there'd been a change with setuptools (https://github.com/aesara-devs/aesara/pull/1050). Out of curiosity, I temporary froze aesara to 2.7.7 just to see whether the checks pass. Seems...like there are all tests passing now 🎉 Will have a look at this setuptools thing to get aesara out of the ice-box.

Japhiolite avatar Aug 12 '22 11:08 Japhiolite

we should also do some benchmarks with a gpu to ensure things are still fast, can probably help with that

AndrewAnnex avatar Aug 12 '22 16:08 AndrewAnnex

@Japhiolite that bug in aesara was fixed a couple of weeks ago. I can perform some benchmarking tests if needed

AndrewAnnex avatar Oct 04 '22 18:10 AndrewAnnex

That would be great @AndrewAnnex

I've talked to @Leguark about merging, and we thought that we publish the switch to aesara as gempy 2.3

Japhiolite avatar Oct 06 '22 09:10 Japhiolite

Currently, the remaining failing tests are due to a (in the meantime fixed) deprecation in subsurface. Unfortunately I can't deploy a new subsurface version to pypi.

But I was wondering though....whether we just should move forward with this PR - as is - to Version 2.3 and work from there to mainly get the pandas fixes up to speed with the new major version...with pandas 2.0 apparently coming out within the next week.

Thoughts?

Japhiolite avatar Mar 23 '23 13:03 Japhiolite

Agree with proceeding to get GemPy properly working again

AlexanderJuestel avatar Mar 23 '23 16:03 AlexanderJuestel

closing as per #796

AndrewAnnex avatar Jun 20 '23 16:06 AndrewAnnex