Spaces:
Running
Running
title: README | |
emoji: π | |
colorFrom: blue | |
colorTo: purple | |
sdk: static | |
pinned: false | |
<p align="center"> | |
<a href="https://light.princeton.edu/publication/delta_prox/"> | |
<img src="https://huggingface.co/spaces/delta-prox/README/raw/main/logo.svg" alt="Delta Prox" width="16.5%"> | |
</a> | |
</p> | |
<p align="center"> | |
Differentiable Proximal Algorithm Modeling for Large-Scale Optimization | |
</p> | |
<p align="center"> | |
<a href="https://light.princeton.edu/publication/delta_prox/">Paper</a> | | |
<a href="https://deltaprox.readthedocs.io/">Docs</a> | | |
<a href="https://github.com/princeton-computational-imaging/Delta-Prox/tree/main/notebooks">Tutorials</a> | | |
<a href="https://github.com/princeton-computational-imaging/Delta-Prox/tree/main/examples">Examples</a> | |
</p> | |
> β-Prox is a domain-specific language (DSL) and compiler that transforms optimization problems into differentiable proximal solvers. Departing from handwriting these solvers and differentiating via autograd, β-Prox requires only a few lines of code to define a solver that can be *specialized based on user requirements w.r.t memory constraints or training budget* by optimized algorithm unrolling, deep equilibrium learning, and deep reinforcement learning. β-Prox makes it easier to prototype different learning-based bi-level optimization problems for a diverse range of applications. We compare our framework against existing methods with naive implementations. β-Prox is significantly more compact in terms of lines of code and compares favorably in memory consumption in applications across domains. | |