Generative Models as Distributions of Functions
This repo contains code to reproduce all experiments in Generative Models as Distributions of Functions.
Requirements for training the models can be installed using
pip install -r requirements.txt. All experiments were run using
Training a model
To train a model on CelebAHQ64, run
python main.py configs/config_celebahq64.json
Example configs to reproduce the results in the paper are provided in the
configs folder. Note that you will have to provide a path to the data you wish to train on in the config.
Loading trained models
All trained models can be downloaded from here. The
load-trained-model.ipynb notebook shows an example of using a trained model.
Rendering 3D samples
The requirements in
requirements.txt allow for basic plotting of 3D shapes with matplotlib. However, to properly render 3D models, you will need to install mcubes (for marching cubes) and pytorch3d. Pytorch3D is not directly pip installable (depending on your version of torch), so please follow the install instructions provided in their repo.
Once these requirements have been installed, you can render samples using
python render_mesh.py -sp samples -mr 32 -rs 64 -ns 8 -mp trained-models/shapenet_voxels/model.pt
render_mesh.py for a full list of rendering options.