🎉 ∇-Prox is a domain-specific language (DSL) and compiler that transforms optimization problems into differentiable proximal solvers.
🎉 ∇-Prox allows for rapid prototyping of learning-based bi-level optimization problems for a diverse range of applications, by optimized algorithm unrolling, deep equilibrium learning, and deep reinforcement learning.
The library includes the following major components:
A library of differentiable proximal algorithms, proximal operators, and linear operators.
Interchangeable specialization strategies for balancing trade-offs between speed and memory.
Out-of-the-box training utilities for learning-based bi-level optimization with a few lines of code.
Learn the fundamentals of using ∇-Prox. We recommend starting here if you are using 🎉 ∇-Prox for the first time!
TutorialsUnderstand the design of the library and the mathematics behind the code.
API DocumentationExplore the complete reference guide. Useful if you want to develop programs with ∇-Prox.