Skip to main content

Implicit and competitive differentiation in JAX.

Project description

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}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jax-fixedpoint-0.0.4.tar.gz (25.4 kB view details)

Uploaded Source

Built Distribution

jax_fixedpoint-0.0.4-py3-none-any.whl (199.7 kB view details)

Uploaded Python 3

File details

Details for the file jax-fixedpoint-0.0.4.tar.gz.

File metadata

  • Download URL: jax-fixedpoint-0.0.4.tar.gz
  • Upload date:
  • Size: 25.4 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for jax-fixedpoint-0.0.4.tar.gz
Algorithm Hash digest
SHA256 231f62cc15001a880def06d743cb5139e9813992dff2fda269253e26214bf3ae
MD5 f195dd8409cd576cd16532289444e182
BLAKE2b-256 656cf00dcebe8bfad8650e39bbd4f89604d866b3661e02c8795663e2efe18924

See more details on using hashes here.

File details

Details for the file jax_fixedpoint-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: jax_fixedpoint-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 199.7 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for jax_fixedpoint-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 fea60907d928103b3bf470c90a56c1905e9e388e0094770f5b51f71b7ae4ce1c
MD5 c4e4a08a33fac4eebf47a3de199929cf
BLAKE2b-256 704b0661345c8d8a8abf4b8e6ac088ca1cea29a7fb855482424feb0b98be565f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page