u/activeXrayin r/ProgrammingLanguages • Recommends
On “Differentiable languages, featuring Python/Jax, Elixir/Nx, & Dex”
> My understanding is that in Julia these 2 features only come together in the Flux NN library.
Not at all! Zygote maybe as it was developed in tandem with Flux, but Julia has an incredibly rich ecosystem of AD tools that exist completely tangentially to Flux.
ChainRules.jl itself is a crazy cool package, which introduces an abstraction of sensitivities that people can build AD algos from. Lyndon did a great talk last year about it. But the idea is by construction, Julia lends itself really really well to AD. ForwardDiff is used extensively for differentiable programming and works fine on CUDA. In fact, DifferentialEquations.jl (the highest performance DE library right now) can paralleli…