thomassutter / mmjsd

Multimodal Generative Learning Utilizing Jensen-Shannon-Divergence

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mmJSD

This is the official code repository for the paper "Multimodal Generative Learning Utilizing Jensen-Shannon-Divergence" which is accepted at NeurIPS 2020.(paper link)

Still work in progress... in case of questions/problems, do not hesitate to reach out to us!

Preliminaries

This code was developed and tested with:

  • Python version 3.5.6
  • PyTorch version 1.4.0
  • CUDA version 11.0
  • The conda environment defined in environment.yml

First, set up the conda enviroment as follows:

conda env create -f environment.yml  # create conda env
conda activate mmjsd                 # activate conda env

Second, download the data, inception network, and pretrained classifiers:

curl -L -o tmp.zip https://drive.google.com/drive/folders/1lr-laYwjDq3AzalaIe9jN4shpt1wBsYM?usp=sharing
unzip tmp.zip
unzip celeba_data.zip -d data/
unzip data_mnistsvhntext.zip -d data/

Experiments

Experiments can be started by running the respective job_* script. To choose between running the MVAE, MMVAE, and MoPoE-VAE, one needs to change the script's METHOD variabe to "poe", "moe", or "jsd" respectively. By default, each experiment uses METHOD="jsd". Before running any training jobs, please make sure that you have set the paths correctly.

running MNIST-SVHN-Text

./job_mst

running Bimodal Celeba

./job_celeba

About

Multimodal Generative Learning Utilizing Jensen-Shannon-Divergence

License:MIT License


Languages

Language:Python 99.1%Language:Shell 0.9%