In [1]:
 
import numpy as np
import math
import scipy.io as sio
import os
%matplotlib inline
import matplotlib.pylab as pylab
import matplotlib.pyplot as plt
import mpld3
mpld3.enable_notebook()
pylab.rcParams['figure.figsize'] = 12, 8
import sys
sys.path.append('/Users/pi/Downloads/HintonCoursera/Assignment Answers -- Sinclair (Python)')
#os.setcwd('/Users/pi/Downloads/HintonCoursera/Assignment Answers -- Sinclair (Python)')
#courseraneuralnet.bla
from utility.utils import loadmat, logistic
from assignment3 import A3Run
/Users/pi/anaconda/lib/python3.5/site-packages/scipy/_lib/decorator.py:205: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead
  first = inspect.getargspec(caller)[0][0]  # first arg
In [2]:
 
n_hid = 7
NUM_INPUT_UNITS = 256
NUM_CLASSES = 10
In [3]:
 
a3 = A3Run()
In [4]:
 
# lets look at our data
print( a3.data_sets.keys() )
v = a3.data_sets['validation']
print( v.keys() )
print( v['targets'].shape )
print( v['inputs'].shape )
dict_keys(['validation', 'training', 'test'])
dict_keys(['inputs', 'targets'])
(10, 1000)
(256, 1000)
In [5]:
 
w = v['inputs'][:, 33]
print( type(w) )
print( w.shape )
g = w.reshape(16,16)
from matplotlib import pyplot as plt
plt.imshow(g, interpolation='nearest', cmap='viridis')
plt.show()
print( v['targets'][:,33] )
<class 'numpy.ndarray'>
(256,)
0246810121402468101214
[ 0.  0.  0.  1.  0.  0.  0.  0.  0.  0.]
In [6]:
 
# http://stackoverflow.com/questions/3942549/display-numpy-array-as-continuously-updating-image-with-glumpy
# http://stackoverflow.com/questions/3886281/display-array-as-raster-image-in-python
import glumpy
window = glumpy.Window(512, 512)
im = glumpy.Image(z.astype(np.float32), cmap=glumpy.colormap.Grey)
@window.event
def on_draw():
    im.blit(0, 0, window.width, window.height)
window.mainloop()
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-6-6000262847e6> in <module>()
      1 # http://stackoverflow.com/questions/3942549/display-numpy-array-as-continuously-updating-image-with-glumpy
      2 # http://stackoverflow.com/questions/3886281/display-array-as-raster-image-in-python
----> 3 import glumpy
      4 
      5 window = glumpy.Window(512, 512)

/Users/pi/anaconda/lib/python3.5/site-packages/glumpy/__init__.py in <module>()
      5 __version__ = "1.0.6"
      6 
----> 7 from . import app
      8 from . import api
      9 from . import gloo

/Users/pi/anaconda/lib/python3.5/site-packages/glumpy/app/__init__.py in <module>()
     14 from glumpy import gl
     15 from glumpy.log import log
---> 16 from glumpy.ext.inputhook import inputhook_manager, stdin_ready
     17 from glumpy.app.window import backends
     18 

/Users/pi/anaconda/lib/python3.5/site-packages/glumpy/ext/__init__.py in <module>()
      4 # -----------------------------------------------------------------------------
      5 # from . import glfw
----> 6 from . import freetype
      7 
      8 try:

/Users/pi/anaconda/lib/python3.5/site-packages/glumpy/ext/freetype/__init__.py in <module>()
     47         __dll__ = None
     48 if not FT_Library_filename and not __dll__:
---> 49     raise RuntimeError('Freetype library not found')
     50 if not __dll__:
     51   __dll__ = ctypes.CDLL(FT_Library_filename)

RuntimeError: Freetype library not found

In [ ]:
 
#Q1
a3.a3_main(0, n_hid=0, n_iterations=0, lr_net=0, train_momentum=0, early_stopping=False, mini_batch_size=0)
In [ ]:
 
#Q2
a3.a3_main(wd_coeff=0, n_hid=10, n_iterations=70, lr_net=0.005, train_momentum=0.0, early_stopping=False, 
           mini_batch_size=4)
In [ ]:
 
# Question 3-4
learning_rates = [0.002, 0.01, 0.05, 0.2, 1.0, 5.0, 20.0]
momentums = [0.0, 0.9]
for momentum in momentums:
    for learning_rate in learning_rates:
        print ("Momentum and learning rate are ({0}, {1})".format(momentum, learning_rate))
        a3.a3_main(0, n_hid=10, n_iterations=70, lr_net=learning_rate, train_momentum=momentum, 
                   early_stopping=False, mini_batch_size=4)
        print
In [ ]:
 
## Question 5
a3.a3_main(0, n_hid=200, n_iterations=1000, lr_net=0.35, train_momentum=0.9, 
           early_stopping=False, mini_batch_size=100)
In [ ]:
 
## Question 6
a3.a3_main(0, n_hid=200, n_iterations=1000, lr_net=0.35, train_momentum=0.9, 
           early_stopping=True, mini_batch_size=100)
In [ ]:
 
## Question 7
for decay in [0, 0.0001, 0.001, 0.01, 1., 5]:
    print (decay)
    a3.a3_main(decay, n_hid=200, n_iterations=1000, lr_net=0.35, train_momentum=0.9, 
               early_stopping=False, mini_batch_size=100)
    print ()
In [ ]:
 
## Question 8
for size in [10, 30, 100, 130, 170]:
    print (size)
    a3.a3_main(0, n_hid=size, n_iterations=1000, lr_net=0.35, train_momentum=0.9, 
               early_stopping=False, mini_batch_size=100)
    print
In [ ]:
 
## Question 9/10
for size in [18, 37, 83, 113, 189]:
    print (size)
    a3.a3_main(0, n_hid=size, n_iterations=1000, lr_net=0.35, train_momentum=0.9, 
               early_stopping=True, mini_batch_size=100)
    print ()
In [ ]:
 
data
In [ ]: