Theseus: A Library for Differentiable Nonlinear Optimization

Abstract

We present Theseus, an efficient application-agnostic open source library for differentiable nonlinear least squares (DNLS) optimization built on PyTorch, providing a common framework for end-to-end structured learning in robotics and vision. Existing DNLS implementations are application specific and do not always incorporate many ingredients important for efficiency. Theseus is application-agnostic, as we illustrate with several example applications that are built using the same underlying differentiable components, such as second-order optimizers, standard costs functions, and Lie groups. For efficiency, Theseus incorporates support for sparse solvers, automatic vectorization, batching, GPU acceleration, and gradient computation with implicit differentiation and direct loss minimization. We do extensive performance evaluation in a set of applications, demonstrating significant efficiency gains and better scalability when these features are incorporated. Project page: https://sites.google.com/view/theseus-ai/

Cite

Text

Pineda et al. "Theseus: A Library for Differentiable Nonlinear Optimization." Neural Information Processing Systems, 2022.

Markdown

[Pineda et al. "Theseus: A Library for Differentiable Nonlinear Optimization." Neural Information Processing Systems, 2022.](https://mlanthology.org/neurips/2022/pineda2022neurips-theseus/)

BibTeX

@inproceedings{pineda2022neurips-theseus,
  title     = {{Theseus: A Library for Differentiable Nonlinear Optimization}},
  author    = {Pineda, Luis and Fan, Taosha and Monge, Maurizio and Venkataraman, Shobha and Sodhi, Paloma and Chen, Ricky T. Q. and Ortiz, Joseph and DeTone, Daniel and Wang, Austin and Anderson, Stuart and Dong, Jing and Amos, Brandon and Mukadam, Mustafa},
  booktitle = {Neural Information Processing Systems},
  year      = {2022},
  url       = {https://mlanthology.org/neurips/2022/pineda2022neurips-theseus/}
}