GithubHelp home page GithubHelp logo

mvae_2.0's Introduction

Mixed-curvature Variational Auto-Encoders

Python Package using Conda

PyTorch implementation

Overview

This repository contains a PyTorch implementation of the Mixed-curvature Variational Autoencoder, or M-VAE, as presented in [1]. For the arXiv paper, please see: https://arxiv.org/abs/1911.08411.

Installation

Install Python 3.7+. To install all dependencies, make sure you have installed conda, and run

make conda
conda activate pt
make download_data

Structure

  • chkpt/ - Checkpoints for trained models.
  • data/ - Data folder. Contains a script necessary for downloading the datasets, and the downloaded data.
  • mathematica/ - Mathematica scripts (various formula derivations, etc).
  • mt/ - Source folder (stands for Master Thesis).
    • data/ - Data loading, preprocessing, batching, and pre-trained embeddings.
    • examples/ - Contains the main executable file. Reads flags and runs the corresponding training and/or evaluation.
    • mvae/ - Model directory. Note that models heavily use inheritance!
    • test_data/ - Data used for testing.
    • visualization/ - Utilities for visualization of latent spaces or training statistics.
  • plots/ - Folder to store generated plots.
  • scripts/ - Contains scripts to run experiments and plot the results.
  • tests/ - (A few) unit tests.
  • Makefile - Defines "aliases" for various tasks.
  • README.md - This manual.
  • LICENSE - Apache Standard License 2.0.
  • environment.yml - Required Python packages.
  • THIRD_PARTY.md - List of third party software used in this thesis.

Usage

To run training and inference, activate the created conda environment and run the examples:

conda activate pt

# MNIST:
python -m mt.examples.run --dataset="mnist" --model="h2,s2,e2" --fixed_curvature=False

# CIFAR:
python -m mt.examples.run --dataset="cifar" --model="h2,s2,e2" --fixed_curvature=False --h_dim=8192 --architecture="conv"

Take a look at mt/examples/run.py for a list of command line arguments.

For an evaluation run, see mt/examples/eval.py.

Please cite [1] in your work when using this repository in your experiments.

Other make commands

make clean   # format source code
make check   # check for formatting and code errors
make test    # run tests

Feedback

For questions and comments, feel free to contact Ondrej Skopek.

License

ASL 2.0

Citation

Ondrej Skopek, Octavian-Eugen Ganea, Gary Bécigneul. Mixed-curvature Variational Autoencoders. International Conference on Learning Representations (ICLR) 2020. URL https://openreview.net/forum?id=S1g6xeSKDS

BibTeX format:

@inproceedings{skopek2020mixedcurvature,
  title={Mixed-curvature Variational Autoencoders},
  author={Ondrej Skopek and Octavian-Eugen Ganea and Gary B{\'e}cigneul,
  booktitle={International Conference on Learning Representations},
  year={2020},
  url={https://openreview.net/forum?id=S1g6xeSKDS}
}

mvae_2.0's People

Contributors

oskopek avatar kanpard005 avatar macio232 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.