Created by Congyue Deng, Brandon Y. Feng, Cecilia Garraffo, Alan Garbarz, Robin Walters, William T. Freeman, Leonidas Guibas, and Kaiming He
This repository provides a simple implementation of DHN to help you get started quickly. For the full code for all experiments in the paper, check out this repo.
Download the data from Google Drive and upzip it to the folder data into the following format:
data/
├── single_pendulum/
│ ├── train/
│ └── test
└── double_pendulum/
├── train/
└── test
You can also generate the data yourself by running
bash scripts/data_gen_train.sh
bash scripts/data_gen_test.sh
Change the variable DATA_NAME to generate simulated data for different physical systems (single_pendulum or double_pendulum).
Change the variable EXP_NAME in the scripts to run with different config files.
All experimental results, including logs and checkpoints, will be under the directory results/${EXP_NAME}.
Fitting known trajectories
Step 1: Run train.sh.
Step 2: Run generate.sh.
The generated sequences will be in a subfolder named gen_sequence.
Completion on novel trajectories
Step 1: Run train.sh.
Step 2: Run extract_partial.sh.
Step 3: Run generate_partial.sh.
The generated sequences will be in a subfolder named extract/gen_sequence.
MIT License
