2 ms·
For those who use Python but still want to do differentiable programming (and don't want to learn Julia), check out Google's JAX package for Python https://www
by SleekEagle 4y ago
For those who use Python but still want to do differentiable programming (and don't want to learn Julia), check out Google's JAX package for Python
https://www.assemblyai.com/blog/why-you-should-or-shouldnt-be-using-jax-in-2022/ https://www.assemblyai.com/blog/why-you-should-or-shouldnt-b...
- krastanov 4y agoTensorflow, Pytorch, and JAX are all amazing for differentiable tensor expressions in Python. Where Julia shines is differentiable programming over more complex models, e.g. differentiable programming over state of the art differential equation solvers. The Python ecosystem is a desert in comparison (the sophistication of the differential equation solvers in python is fairly low and difficult stiff problems are not easy to solve there).
- WanderPanda 4y agoI have almost no idea about differential equation solvers but isn‘t fourth order Runge-Kutta pretty state of the art and just a few lines to implement?!
- krastanov 4y agoRK4 is indeed trivial to implement. It is also fairly useless for anything but "easy" problems. I have done a lot of useful science with my own tensorflow implementation of simple integrators like RK4, but for serious research problems I do need much better solvers. Things that are "better" with modern solvers: computational efficiency (appropriate adaptive choice of step size); numerical stability (detecting when things go wrong); higher precision. And other nice improvements like callbacks and root-finding and sensitivity analysis built into the solvers.