This repository contains Stanford CS236G default final project starter code. The baseline model is a modified version of Point Cloud GAN (ICLR'19 Workshop).
- Install Anaconda 4.11+.
- Set up and activate conda environment.
conda env create -f environment.yml
conda activate cs236g
- Download ShapeNet dataset and trained checkpoints.
sh scripts/download.sh
You can train using train.py
or provided scripts.
# Train using CLI
python train.py --name NAME
# Train using provided settings
sh scripts/train_shapenet_airplane.sh
You can evaluate checkpointed models using test.py
or provided scripts.
# Test user specified checkpoint using CLI
python test.py --ckpt_path CKPT_PATH
# Test provided checkpoints
sh scripts/test_shapenet_airplane.sh
Generate submission.pth
in working directory using test.py
and submit to Gradescope leaderboard.
# Submit the generated ./submission.pth to Gradescope
python test.py --submit --ckpt_path CKPT_PATH
Follow terminal instructions during the initial run to setup wandb
logging.
If you do not want to use wandb
, you can turn it off using:
wandb offline
Table below shows final metrics for SetVAE and our model (MMD-CD is scaled by 103 and MMD-EMD, COV, 1-NNA by 102). SetVAE is trained for 8000 epochs and our model is trained for 2000 epochs.
Category | Model | MMD(↓) CD | MMD(↓) EMD | COV(↑) CD | COV(↑) EMD | 1-NNA(↓) CD | 1-NNA(↓) EMD |
---|---|---|---|---|---|---|---|
Airplane | SetVAE | 0.199 | 3.07 | 43.45 | 44.93 | 75.31 | 77.65 |
Ours | 0.224 | 3.45 | 38.27 | 36.79 | - | - |