In [1]:
import matplotlib.pyplot as plt
import numpy as np
from tensorflow.examples.tutorials.mnist import input_data
import sys,os;
%matplotlib inline
sys.path.append("../");
from tf_data import *

In [14]:
def plot_img(arr):
    plt.imshow(np.reshape(arr,newshape=(28,28)),cmap='gray');

In [2]:
train_dir = '../data/MNIST/';
mnist = input_data.read_data_sets(train_dir, one_hot=True);
noisy_mnist = MNISTData.NoisyImages(train_dir, stddev=8);


Extracting ../data/MNIST/train-images-idx3-ubyte.gz
Extracting ../data/MNIST/train-labels-idx1-ubyte.gz
Extracting ../data/MNIST/t10k-images-idx3-ubyte.gz
Extracting ../data/MNIST/t10k-labels-idx1-ubyte.gz
Extracting ../data/MNIST/train-images-idx3-ubyte.gz
Extracting ../data/MNIST/train-labels-idx1-ubyte.gz
Extracting ../data/MNIST/t10k-images-idx3-ubyte.gz
Extracting ../data/MNIST/t10k-labels-idx1-ubyte.gz

In [3]:
[n_x, n_y] = noisy_mnist.train.next_batch(batch_size=2);

In [4]:
# Noisy image from our helper class
for im in n_x:
    plt.figure(figsize=(2,2));
    plt.imshow(np.reshape(im,newshape=(28,28)),cmap='gray');



In [15]:
[m_x, m_y] = mnist.train.next_batch(batch_size=4);

In [16]:
# Added noise to original images
for i, im in enumerate(m_x):
    plt.figure(figsize=(10,10));
    plt.subplot(1,4,1);
    origin = np.array(255*im,dtype=np.uint8);
    plt.title("original %d" % np.argmax(m_y[i]));
    plt.imshow(np.reshape(origin,newshape=(28,28)),cmap='gray');
    plt.subplot(1,4,2);
    noisy_std8 = np.array(np.clip(255*im + 8 * np.random.randn(im.shape[0]),0,255),dtype=np.uint8);
    plt.title("noisy std_8")
    plt.imshow(np.reshape(noisy_std8,newshape=(28,28)),cmap='gray');
    plt.subplot(1,4,3);
    noisy_std32 = np.array(np.clip(255*im + 32 * np.random.randn(im.shape[0]),0,255),dtype=np.uint8);
    plt.title("noisy std_32")
    plt.imshow(np.reshape(noisy_std8,newshape=(28,28)),cmap='gray');
    plt.subplot(1,4,4);
    noisy_std128 = np.array(np.clip(255*im + 128 * np.random.randn(im.shape[0]),0,255),dtype=np.uint8);
    plt.title("noisy std_128")
    plt.imshow(np.reshape(noisy_std128,newshape=(28,28)),cmap='gray');



In [ ]:


In [ ]: