A minimal 3DGS implementation built on gsplat.
- PyTorch
- gsplat
- torchvision
- omegaconf
- tqdm
- PyYAML
conda env create -f environment.yml
conda activate gsplat
3DRR_codebase/
├── config/ # Training configs (YAML)
├── core/
│ ├── data/ # Dataset loaders (Blender format)
│ ├── libs/ # Utilities (SSIM, config, etc.)
│ └── model/ # 3DGS model
├── train.py # Training + validation + test rendering
├── eval.py # Load checkpoint and render test set
└── outputs/ # Training outputs
Expects datasets in Blender/NeRF-synthetic JSON format with calibrated intrinsics.
python train.py -c config/cupcake.yamlOutputs are saved to outputs/<experiment>/<timestamp>/:
latest.pt— model checkpointconfig.yaml— copy of training configexamples/— validation render grids (val_step*.jpg) and augmented training samples (train_aug.jpg)test/— rendered test images
Load a checkpoint and render the test set (no metrics, no GT images needed):
python eval.py -w outputs/.../latest.ptConfig is automatically loaded from the checkpoint directory. Rendered images are saved to {checkpoint_dir}/test/.