Question: The python code below implements an autoencoder. Please modify the code to experiement with sampling and clamping with the MNIST data and denoising autoencoder. Some

The python code below implements an autoencoder. Please modify the code to experiement with sampling and clamping with the MNIST data and denoising autoencoder. Some instructions are also pasted below to help get you started:

Instructions:

The python code below implements an autoencoder. Please modify the code to

Code:

# denoising autoencoder of Geron import tensorflow as tf

n_inputs = 28 * 28 n_hidden1 = 300 n_hidden2 = 150 # codings n_hidden3 = n_hidden1 n_outputs = n_inputs

learning_rate = 0.01

noise_level = 1.0

X = tf.placeholder(tf.float32, shape=[None, n_inputs]) X_noisy = X + noise_level * tf.random_normal(tf.shape(X))

hidden1 = tf.layers.dense(X_noisy, n_hidden1, activation=tf.nn.relu, name="hidden1") hidden2 = tf.layers.dense(hidden1, n_hidden2, activation=tf.nn.relu, # not shown in the book name="hidden2") # not shown hidden3 = tf.layers.dense(hidden2, n_hidden3, activation=tf.nn.relu, # not shown name="hidden3") # not shown outputs = tf.layers.dense(hidden3, n_outputs, name="outputs") # not shown

reconstruction_loss = tf.reduce_mean(tf.square(outputs - X)) # MSE

optimizer = tf.train.AdamOptimizer(learning_rate) training_op = optimizer.minimize(reconstruction_loss) init = tf.global_variables_initializer()

from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("/tmp/data/")

n_epochs = 10 batch_size = 150

import sys

with tf.Session() as sess: init.run() for epoch in range(n_epochs): n_batches = mnist.train.num_examples // batch_size for iteration in range(n_batches): print(" {}%".format(100 * iteration // n_batches), end="") sys.stdout.flush() X_batch, y_batch = mnist.train.next_batch(batch_size) sess.run(training_op, feed_dict={X: X_batch}) loss_train = reconstruction_loss.eval(feed_dict={X: X_batch}) print(" {}".format(epoch), "Train MSE:", loss_train)

X_test - mnist.test.images[:n_test_digits] CO Markov chain: initialize state that is in the shape of X_test with random noise state outputs.eval(feed_dict-(X: state]) state state +noise level* tf.random_normal(tf.shape(X_test)) state = outputs.eval fee Clamping: need to assign the right half of X_test to state X_test - mnist.test.images[:n_test_digits] CO Markov chain: initialize state that is in the shape of X_test with random noise state outputs.eval(feed_dict-(X: state]) state state +noise level* tf.random_normal(tf.shape(X_test)) state = outputs.eval fee Clamping: need to assign the right half of X_test to state

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!