Optimisers.jl defines many standard gradient-based optimisation rules, and tools for applying them to deeply nested models.
This is the future of training for Flux.jl neural networks, but it can be used separately on anything understood by Functors.jl.
]add OptimisersFind out more about using Optimisers.jl in the docs.