Example #1
0
X = data['X']
hi = data['hi']
face = data['face']
num1 = data['num1']
num2 = data['num2']
num3 = data['num3']
num4 = data['num4']
data.close()
#inputs = np.hstack([face, X, hi, num1, num2, num3, num4])
inputs = np.hstack([face, X, hi, num1, num2])

hop = hopfield.hopnet(inputs)
addresses = inputs.copy()
numNeurons, numPatterns = addresses.shape

numIters = 1000

print "uncorrupted tests"
for i in xrange(numPatterns):
    a = addresses[:, i]
    d = hop.read(a, numIters).reshape((10, 10), order='F')
    plt.figure(i)
    plot_io(a.reshape((10, 10), order='F'), d)

print "now with corruption"
for i in xrange(numPatterns):
    a = corrupt(addresses[:, i], 10)
    d = hop.read(a, numIters).reshape((10, 10), order='F')
    plt.figure(i + numPatterns)
    plot_io(a.reshape((10, 10), order='F'), d)
Example #2
0
# <codecell>

reload(sdm)
mem = sdm.SDM(100, 10000, 40)
print "Addresses in hamming radius:", mem._select(inputs).sum(axis=0)
addresses = inputs.copy()
mem.writeM(addresses, inputs)

# <codecell>

for i in xrange(7):
    a = corrupt(addresses[:, i], 10)
    d = mem.read(a).reshape((10, 10), order='F')
    plt.figure(i)
    plot_io(a.reshape((10, 10), order='F'), d)

# <codecell>

c = 5 # amount of bits to corrupt
n = 15 # number of exemplars

exemplars = np.empty((100, n), dtype='i4')
plt.figure(1)
plt.clf()
for i in xrange(n):
    e = corrupt(face, c)
    exemplars[:, i] = e[:, 0]
    plt.subplot(3, 5, i+1)
    plt.imshow(e.reshape((10, 10), order='F'), cmap='gray', interpolation='nearest')
    plt.xticks([], [])
mem1 = sdm.SDM(n, m, D)
mem1.writeM(cvecs, cvecs)
r1 = mem1.readM(ex)

mem2 = hop.hopnet(cvecs)
r2 = mem2.readM(ex, 1000)

for i in xrange(nex):
    plt.clf()
    plt.imshow(cvecs[:, i].reshape((16, 16), order="F"), cmap="gray", vmin=0, vmax=1, interpolation="nearest")
    plt.xticks([], [])
    plt.yticks([], [])
    save("vi_ex%d" % i)

plt.clf()
util.plot_io(ex.reshape((16, 16), order="F"), r1.reshape((16, 16), order="F"))
save("vi_sdm")

plt.clf()
util.plot_io(ex.reshape((16, 16), order="F"), 1 - r2.reshape((16, 16), order="F"))
save("vi_hop")

# <codecell>

import scipy.io as io
import numpy as np
import matplotlib.pyplot as plt
import sdm as sdm
from util import corrupt, plot_io, save

# data = io.loadmat('sequencePatterns.mat')
X = data['X']
hi = data['hi']
face = data['face']
num1 = data['num1']
num2 = data['num2']
num3 = data['num3']
num4 = data['num4']
data.close()
#inputs = np.hstack([face, X, hi, num1, num2, num3, num4])
inputs = np.hstack([face, X, hi, num1, num2])

hop = hopfield.hopnet(inputs)
addresses = inputs.copy()
numNeurons, numPatterns = addresses.shape

numIters = 1000

print "uncorrupted tests"
for i in xrange(numPatterns):
    a = addresses[:, i]
    d = hop.read(a, numIters).reshape((10, 10), order='F')
    plt.figure(i)
    plot_io(a.reshape((10, 10), order='F'), d)

print "now with corruption"
for i in xrange(numPatterns):
    a = corrupt(addresses[:, i], 10)
    d = hop.read(a, numIters).reshape((10, 10), order='F')
    plt.figure(i + numPatterns)
    plot_io(a.reshape((10, 10), order='F'), d)
Example #5
0
mem2 = hop.hopnet(cvecs)
r2 = mem2.readM(ex, 1000)

for i in xrange(nex):
    plt.clf()
    plt.imshow(cvecs[:, i].reshape((16, 16), order='F'),
               cmap='gray',
               vmin=0,
               vmax=1,
               interpolation='nearest')
    plt.xticks([], [])
    plt.yticks([], [])
    save("vi_ex%d" % i)

plt.clf()
util.plot_io(ex.reshape((16, 16), order='F'), r1.reshape((16, 16), order='F'))
save("vi_sdm")

plt.clf()
util.plot_io(ex.reshape((16, 16), order='F'), 1 - r2.reshape(
    (16, 16), order='F'))
save("vi_hop")

# <codecell>

import scipy.io as io
import numpy as np
import matplotlib.pyplot as plt
import sdm as sdm
from util import corrupt, plot_io, save