Skip to content

google/jaxopt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jake VanderPlasJAXopt authors
Jake VanderPlas
and
JAXopt authors
Mar 18, 2025
bd5eb51 · Mar 18, 2025
Jan 12, 2024
Jun 28, 2022
May 16, 2024
May 16, 2024
Mar 18, 2025
Sep 17, 2024
Oct 22, 2021
Sep 4, 2023
Jul 12, 2021
Jul 12, 2021
Feb 5, 2024
Dec 14, 2022
Feb 16, 2023
Feb 16, 2023
Jan 12, 2024

JAXopt

Installation | Documentation | Examples | Cite us

⚠️ We are in the process of merging JAXopt into Optax. Because of this, JAXopt is now in maintenance mode and we will not be implementing new features ⚠️

Hardware accelerated, batchable and differentiable optimizers in JAX.

  • Hardware accelerated: our implementations run on GPU and TPU, in addition to CPU.
  • Batchable: multiple instances of the same optimization problem can be automatically vectorized using JAX's vmap.
  • Differentiable: optimization problem solutions can be differentiated with respect to their inputs either implicitly or via autodiff of unrolled algorithm iterations.

Installation

To install the latest release of JAXopt, use the following command:

$ pip install jaxopt

To install the development version, use the following command instead:

$ pip install git+https://github.com/google/jaxopt

Alternatively, it can be installed from sources with the following command:

$ python setup.py install

Cite us

Our implicit differentiation framework is described in this paper. To cite it:

@article{jaxopt_implicit_diff,
  title={Efficient and Modular Implicit Differentiation},
  author={Blondel, Mathieu and Berthet, Quentin and Cuturi, Marco and Frostig, Roy 
    and Hoyer, Stephan and Llinares-L{\'o}pez, Felipe and Pedregosa, Fabian 
    and Vert, Jean-Philippe},
  journal={arXiv preprint arXiv:2105.15183},
  year={2021}
}

Disclaimer

JAXopt is an open source project maintained by a dedicated team in Google Research, but is not an official Google product.