# L-SR1: Learned Symmetric-Rank-One Preconditioning

## Getting Started

### 1. Set Up the Conda Environment

Create and activate the conda environment using the provided `.yaml` file:

```bash
conda env create -f environment.yaml
conda activate hmr
```

### 2. Prepare the Data

Follow the data preparation instructions from the [Learned Gradient Descent repository](https://github.com/InpatientJam/Learned-Gradient-Descent).

Ensure the data is downloaded and organized as expected before running the code.

## Usage

### Training on AMASS

To train the model on the AMASS dataset, run:

```bash
python train.py dataset_root=/path/to/data/dir
```
Replace /path/to/data/dir with the path to your data directory.

### Testing on 3DPW

To evaluate the model on the 3DPW dataset using the provided weights, run:

```bash
python eval.py load_checkpoint=checkpoints/lsr1__l4__best-model.ckpt model.inner_num_steps=12 dataset_root=/path/to/data/dir
```
Replace /path/to/data/dir with the path to your data directory.





