ltatzel / vivit-experiments

Experiments for the TMLR 2023 paper "ViViT: Curvature Access Through the Generalized Gauss-Newton’s Low-rank Structure"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This repository contains the code and experiments for the TMLR paper ViViT: Curvature access through the generalized Gauss-Newton's low-rank structure:

@article{dangel2022vivit,
  title =        {Vi{V}i{T}: Curvature Access Through The Generalized
                  Gauss-Newton{\textquoteright}s Low-Rank Structure},
  author =       {Felix Dangel and Lukas Tatzel and Philipp Hennig},
  journal =      {Transactions on Machine Learning Research (TMLR)},
  year =         2022,
}

Reproducing the experiments

Note: Experiments were generated and verified to run on Ubuntu 20.04.3 LTS with python=3.8.5 and pip==21.2.4.

First, clone the repository and change into the repository's root:

git clone https://github.com/f-dangel/vivit-experiments.git
cd vivit-experiments

Installation

conda (recommended)

We recommend using the conda environment specified in .conda_eny.yml. If you have conda installed, you can build the environment using the command

conda env create --file .conda_env.yml

and load it with the command

conda activate vivit-experiments

(To disable the environment, run conda deactivate, to remove the environment, run conda env remove -n vivit-experiments).

Manual (alternative)

In your environment of choice, run the following commands

# main library requirements
pip install -r requirements.txt

# for development/experiments
pip install -r requirements-dev.txt
pip install -r exp/requirements-exp.txt

# main library
pip install -e .

Reproducing our experiments (overview)

The experiments and instructions are contained in subdirectories of exp/. Follow the instructions in their README.md files to run them:

About

Experiments for the TMLR 2023 paper "ViViT: Curvature Access Through the Generalized Gauss-Newton’s Low-rank Structure"

License:MIT License


Languages

Language:Python 99.6%Language:Makefile 0.4%Language:Shell 0.1%