TimoFlesch / Autoencoders

Autoencoders (Standard, Convolutional, Variational), implemented in tensorflow

Repository from Github https://github.comTimoFlesch/AutoencodersRepository from Github https://github.comTimoFlesch/Autoencoders

Implementation of Various Autoencoders

Contains tensorflow code to run

All models are trained on the famous and boring MNIST dataset (suboptimal choice for the bVAE)

Requirements

Python 3.6 and tensorflow 1.0

Structure

Everything you need is contained in the folder code

  1. Model Selection
    Change the flags in main.py

  2. Model Modification
    Each model consists of a specification file (e.g. this one for the AE) and a runner runXY.py (e.g. this one for the AE). Change the model architecture in the corresponding model.py file. Some auxiliar functions are defined in the nntools subfolder.

  3. Training a model
    Call the respective runXY.py

  4. Evaluating a model
    Change the training flag in main.py to False and call the respective runXY.py

Monitoring

The code creates scalar and image summaries during training.

Local

to start a monitoring session:

 tensorboard --logdir=path/to/log-directory --port=6006

then, navigate in browser to:

0.0.0.0:6006

to visualize the summaries and monitor the training process

Remote

to start monitoring session:

ssh -L 16006:127.0.0.1:6006 user@remote.machine
tensorboard --logdir=path/to/log-directory --port=6006

then, navigate in browser of local machine (whilst ssh tunnel is open) to:

127.0.0.1:16006

About

Autoencoders (Standard, Convolutional, Variational), implemented in tensorflow


Languages

Language:Python 100.0%