The network architecture is very simple. An input image, of size 784 pixels, is stochastically corrupted, and then it is dimensionally reduced by an encoding network layer. The reduction step is from 784 to 256 pixels.
In the decoding phase, we prepare the network for output, re-changing the original image size from 256 to 784 pixels.
As usual, we start loading all the necessary libraries to our implementation:
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
from tensorflow.examples.tutorials.mnist import input_data
Set the basic network parameters:
n_input = 784
n_hidden_1 = 256
n_hidden_2 = 256
n_output = 784
We also set the session's parameters:
epochs = 110
batch_size = 100
disp_step = 10
We build the training and test sets. We again use the input_data feature imported from the tensorflow.examples.tutorials.mnist library...