Theseus: A Library for Differentiable Nonlinear Optimization

Authors: Luis Pineda, Taosha Fan, Maurizio Monge, Shobha Venkataraman, Paloma Sodhi, Ricky T. Q. Chen, Joseph Ortiz, Daniel DeTone, Austin Wang, Stuart Anderson, Jing Dong, Brandon Amos, Mustafa Mukadam

NeurIPS 2022 | Conference PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental We do extensive performance evaluation in a set of applications, demonstrating significant efficiency gains and better scalability when these features are incorporated.
Researcher Affiliation Industry 1Meta AI, 2Reality Labs Research
Pseudocode Yes Listing 1: Simple DNLS example with Theseus, see App. B for details. The core API lets users focus on describing the DNLS problem and their interaction with the outer loss L and parameters φ within any broader Py Torch model, while the solution and differentiation are seamlessly taken care of under-the-hood.
Open Source Code Yes We present Theseus, an efficient application-agnostic open source library for differentiable nonlinear least squares (DNLS) optimization built on Py Torch, providing a common framework for end-to-end structured learning in robotics and vision. Project page: https://sites.google.com/view/theseus-ai/
Open Datasets No The paper mentions using a "synthetic Cube dataset" and cites related works [104, 105] which might describe its generation. However, it does not provide a direct link, DOI, or specific repository where the *exact version* of the dataset used in their experiments can be accessed, nor is it a universally recognized public dataset where availability is implicit.
Dataset Splits No The paper mentions "validation loss" and that the "synthetic Cube dataset" was used, but it does not specify the explicit splits (e.g., percentages or exact counts) for training, validation, and test sets. It does not reference a standard split from a cited source either.
Hardware Specification Yes For these experiments we used an Nvidia V100 GPU with 32GBs of memory for all Python computation, and Intel Xeon 2.2GHz CPU with 20 threads for the CPU-based CHOLMOD linear solver. For these experiments we used Quadro GP100 GPUs with 16GB of memory.
Software Dependencies No The paper mentions software like "Py Torch", "CHOLMOD", "cu Solver RF", and "Ba Spa Cho" but does not provide specific version numbers for these software components, which are crucial for reproducibility.
Experiment Setup Yes We run 10 inner loop iterations and 20 outer loop epochs, and use implicit differentiation to compute gradients of the inner NLS optimization. Our experiments suggest that implicit differentiation is a good default to use for differentiable optimization, considering its low time/memory footprint, and potential for better end-to-end performance with proper hyperparameter tuning. The step size used for the inner loop optimizer (0.05 in this example), and the outer optimizer s learning rate.