Skip to content

meetps/tf-3dgan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tf-3dgan

license arXiv Tag

Tensorflow implementation of 3D Generative Adversarial Network.

This is a tensorflow implementation of the paper "Learning a Probabilistic Latent Space of Object Shapes via 3D Generative-Adversarial Modeling"

Blog Post with interactive volume plots

Requirements

  • tensorflow>=1.0
  • visdom>=1.0.1 (for mesh visualization)
  • scipy
  • scikit-image
  • stl (optional)

One-line installation

pip install scipy scikit-image stl visdom

Data

  • Download the training data from the 3D Shapenet website
  • Extract the zip and modify the path appropriately in dataIO.py

Usage

Launch visdom by running

python -m visdom.server

To train the model (visdom will show generated chairs after every 200 minibatches)

python 3dgan_mit_biasfree.py 0 <path_to_model_checkpoint>

To generate chairs

python 3dgan_mit_biasfree.py 1 <path_to_trained_model>

Some sample generated chairs

Source code files

File Description
3dgan_mit_biasfree.py 3dgan as mentioned in the paper, with same hyperparams.
3dgan.py baseline 3dgan with fully connected layer at end of discriminator.
3dgan_mit.py 3dgan as mentioned in the paper with bias in convolutional layers.
3dgan_autoencoder.py 3dgan with support for autoencoder based pre-training.
3dgan_feature_matching.py 3dgan with additional loss of feature mathcing of last layers.
dataIO.py data input output and plotting utilities.
utils.py tensorflow utils like leaky_relu and batch_norm layer.

Todo

  • Host the trained models
  • Add argparser based interface
  • Add threaded dataloader
  • Release the pytorch and keras versions of the GAN.
  • Train for longer number of epochs to improve quality of generated chairs.

Contributors

  • @meetshah1995
  • @khushhallchandra