fax: fixed-point jax
Implicit and competitive differentiation in JAX.
Our "competitive differentiation" approach uses Competitive Gradient Descent to solve the equality-constrained nonlinear program associated with the fixed-point problem. A standalone implementation of CGD is provided under fax/competitive/cga.py and the equality-constrained solver derived from it can be accessed via fax.constrained.cga_lagrange_min or fax.constrained.cga_ecp. An implementation of implicit differentiation based on Christianson's two-phases reverse accumulation algorithm can also be obtained with the function fax.implicit.two_phase_solver.
See fax/constrained/constrained_test.py for examples. Please note that the API is subject to change.
References
Citing competitive differentiation:
@inproceedings{bacon2019optrl,
author={Pierre-Luc Bacon, Florian Schaefer, Clement Gehring, Animashree Anandkumar, Emma Brunskill},
title={A Lagrangian Method for Inverse Problems in Reinforcement Learning},
booktitle={NeurIPS Optimization Foundations for Reinforcement Learning Workshop},
year={2019},
url={http://lis.csail.mit.edu/pubs/bacon-optrl-2019.pdf},
keywords={Optimization, Reinforcement Learning, Lagrangian}
}
Citing this repo:
@misc{gehring2019fax,
author = {Clement Gehring, Pierre-Luc Bacon, Florian Schaefer},
title = {{FAX: differentiating fixed point problems in JAX}},
note = {Available at: https://github.com/gehring/fax},
year = {2019}
}
Release files for jax-fixedpoint-test-manueldelverme 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jax_fixedpoint_test_manueldelverme-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Release files / jax_fixedpoint_test_manueldelverme-0.0.4-py3-none-any.whl
| Download URL | jax_fixedpoint_test_manueldelverme-0.0.4-py3-none-any.whl |
|---|---|
| Size | 129.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0e89897732ec4e907162345f26f280f02d7b8f2987357609e03be47bc62585e1
|
|
BLAKE2b-256 checksum How to use checksums |
9e9100508202ccd7e1db4866aa42e5edea077036987b9e69b02ea4f9cbddf5a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1
|