File size: 1,582 Bytes
4799f6e
 
 
 
 
 
 
 
 
62d9933
 
9578f60
9979537
62d9933
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
---
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.