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.shYou 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.shYou 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.shGenerate 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_PATHFollow 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 offlineTable 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 | - | - |
