-
Notifications
You must be signed in to change notification settings - Fork 14
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
pyerrors does not work with the upcoming numpy 2 release #231
Comments
Thanks a lot for anticipating this and for fixing the problems in the dependencies! I am fine with dropping python 3.8 in the future. |
NumPy 2.0 has now been released. With autograd not being maintained anymore we might have to think about alternatives if my proposed changes are not included in a new release (let's see). Things that come to my mind:
Any opinions @s-kuberski @jkuhl-uni @JanNeuendorf @PiaLJP ? |
Maybe we should first write down all the "features" of autograd that are currently being used. What is the actual functionality that needs to be replaced? |
Autograd is mainly needed for automatic differentiation & error propagation in fits, roots, integration and linear algebra functions. It conveniently provides the relevant wrappers for most numpy and scipy functions.
There is no urgency yet, but to keep pyerrors up and running with future python versions we will need to find a solution at some point. |
Hey If this is not assessed as a viable option by the others, I'd advocate for migrating the relevant code into pyerrors. JAX seems to have a rather different focus and has built-in autograd only as a side-car if I read it right in their description. Last, I want to point out, that autograd and JAX are probably not the only options, so we could also have a look at other libraries for automatic differentiation. |
Hey, |
Hi, If, however, autograd won't be maintained anymore and we'll run into problems in the long run, we of course have to find a solution. In principle, I'd be inclined to test JAX, but I see the problem that a change could potentially break many workflows. This might be the best solution in the long run, but only if we have the feeling that we could gain anything else from the change (performance, flexibility, ...). Maintaining our own fork of autograd might be less stressful... Let's wait a bit longer. |
We managed to create a new autograd release that supports numpy 2 (https://github.com/HIPS/autograd/releases/tag/v1.7.0), I'm preparing a new pyerrors version that also supports numpy 2 and drops python 3.8 support (#239) |
pyerrors raises multiple errors in combination with the numpy 2 release candidate
ImportError: numpy.core.multiarray failed to import
. This should be fixed in the next release.After the relevant changes have made it to pypi we will probably have to bump our minimal dependencies and potentially drop support for python 3.8 as it does not work with numpy 2 (EOL is 31 Oct 2024).
The text was updated successfully, but these errors were encountered: