5 ms·
Why python? Doesn't Julia compose traditional ODE solvers with differential programming better?
by Archit3ch 5y ago
Why python? Doesn't Julia compose traditional ODE solvers with differential programming better?
- UncleOxidant 5y agoFound a couple of resources for what they call Physics-Informed Neural Networks in Julia: https://mitmath.github.io/18337/lecture3/sciml.html https://mitmath.github.io/18337/lecture3/sciml.html https://diffeqflux.sciml.ai/dev/ https://diffeqflux.sciml.ai/dev/ https://www.youtube.com/watch?v=HKJB0Bjo6tQ https://www.youtube.com/watch?v=HKJB0Bjo6tQ (Interpretable Deep Learning for Physics - I don't think there's any Julia in the video itself, but Miles Cranmer uses Julia for this work - he created SymbolicRegression.jl)
- atty 5y agoBecause the python/numpy/tensorflow/Pytorch ecosystem is the deep learning ecosystem. You write a book on what you know, and what the audience wants. And everything they do here has tools that work just fine in python, no need to switch to Julia. And as someone who does this sort of work as my job, I can tell you the tool chains we use for what could be considered “industrial-scale” applications do not yet have appropriate Julia-based replacements.
- amkkma 5y agoThat's because it's keeping things fairly simple. Implementing the more involved/advanced techniques would quickly outpace what's possible in python, now and for the foreseeable future (see https://www.stochasticlifestyle.com/useful-algorithms-that-are-not-optimized-by-jax-pytorch-or-tensorflow/ https://www.stochasticlifestyle.com/useful-algorithms-that-a... but also other reasons such as composability )
- tubby12345 5y agois this the "why not rewrite it in rust" of the DL space?
- nerdponx 5y agoYes, pretty much. Not just deep learning, pretty much all data-related work. And, much like Rust, it's a good question, worth asking, and asking it repeatedly helps the world arrive at a more refined answer, and improves Julia in the process.
- auntienomen 5y agoNone of the guts of these packages is written in Python anyways. C mostly, maybe with some Cython or Fortran. Python is where the API is presented, because that makes it easily accessible to lots of users.