MNIST VAE

class deepobs.tensorflow.testproblems.mnist_vae.mnist_vae(batch_size, weight_decay=None)[source]

DeepOBS test problem class for a variational autoencoder (VAE) on MNIST.

The network has been adapted from the here and consists of an encoder:

  • With three convolutional layers with each 64 filters.
  • Using a leaky ReLU activation function with \(\alpha = 0.3\)
  • Dropout layers after each convolutional layer with a rate of 0.2.

and an decoder:

  • With two dense layers with 24 and 49 units and leaky ReLU activation.
  • With three deconvolutional layers with each 64 filters.
  • Dropout layers after the first two deconvolutional layer with a rate of 0.2.
  • A final dense layer with 28 x 28 units and sigmoid activation.

No regularization is used.

Parameters:
  • batch_size (type) -- Batch size to use.
  • weight_decay (type) -- No weight decay (L2-regularization) is used in this test problem. Defaults to None and any input here is ignored.
dataset

The DeepOBS data set class for MNIST.

train_init_op

A tensorflow operation initializing the test problem for the training phase.

train_eval_init_op

A tensorflow operation initializing the test problem for evaluating on training data.

test_init_op

A tensorflow operation initializing the test problem for evaluating on test data.

losses

A tf.Tensor of shape (batch_size, ) containing the per-example loss values.

regularizer

A scalar tf.Tensor containing a regularization term. Will always be 0.0 since no regularizer is used.

set_up()[source]

Sets up the VAE test problem on MNIST.