import numpy as np
import neurolab as nl
import matplotlib .pyplot as plt
target = np.array([[0,0,0,0,0,0,0,0,
0,0,0,1,1,0,0,0,
0,0,1,0,0,1,0,0,
0,1,0,0,0,0,1,0,
0,1,0,0,0,0,1,0,
0,1,0,0,0,0,1,0,
0,1,0,0,0,0,1,0,
0,1,0,0,0,0,1,0,
0,1,0,0,0,0,1,0,
0,1,0,0,0,0,1,0,
0,1,0,0,0,0,1,0,
0,1,0,0,0,0,1,0,
0,1,0,0,0,0,1,0,
0,0,1,0,0,1,0,0,
0,0,0,1,1,0,0,0,
0,0,0,0,0,0,0,0,
],
[0,0,0,0,0,0,0,0,
0,0,0,0,1,0,0,0,
0,0,0,0,1,0,0,0,
0,0,0,1,1,0,0,0,
0,0,1,0,1,0,0,0,
0,0,0,0,1,0,0,0,
0,0,0,0,1,0,0,0,
0,0,0,0,1,0,0,0,
0,0,0,0,1,0,0,0,
0,0,0,0,1,0,0,0,
0,0,0,0,1,0,0,0,
0,0,0,0,1,0,0,0,
0,0,0,0,1,0,0,0,
0,1,1,1,1,1,1,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
],
[0,0,0,0,0,0,0,0,
0,1,1,1,1,1,1,0,
0,0,0,0,0,0,1,0,
0,0,0,0,0,0,1,0,
0,0,0,0,0,0,1,0,
0,0,0,0,0,0,1,0,
0,1,1,1,1,1,1,0,
0,0,0,0,0,0,1,0,
0,0,0,0,0,0,1,0,
0,0,0,0,0,0,1,0,
0,0,0,0,0,0,1,0,
0,0,0,0,0,0,1,0,
0,0,0,0,0,0,1,0,
0,1,1,1,1,1,1,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,]])
def vis(data,title):
fig,ax = plt.subplots()
ax.imshow(data,cmap = plt.cm.gray,interpolation = 'nearest')
ax.set_title(title)
plt.show()
for i in range(len(target)):
vis(np.reshape(target[i],(16,8)), i)
target[target == 0] = -1
net = nl.net.newhop(target)
test_data1 =np.asfarray(
[0,0,0,0,0,0,0,0,
0,0,0,1,1,0,0,0,
0,0,1,0,0,1,0,0,
0,1,0,0,0,0,1,0,
0,1,0,1,0,0,1,0,
0,1,0,1,0,0,1,0,
0,1,0,0,0,0,1,0,
0,1,0,1,0,0,1,0,
0,1,0,0,0,0,1,0,
0,1,0,0,0,0,1,0,
0,1,0,0,0,0,1,0,
0,1,0,0,0,0,1,0,
0,1,0,0,0,0,1,0,
0,0,1,0,0,1,0,0,
0,1,0,1,1,0,0,0,
0,0,0,0,0,0,0,0])
test_data2 =np.asfarray(
[0,1,0,0,0,0,0,0,
0,0,0,0,1,0,0,0,
0,0,0,0,1,0,0,0,
0,0,0,1,1,0,0,0,
0,0,1,0,1,0,0,0,
0,0,0,0,1,0,0,0,
0,1,0,0,1,1,0,0,
0,0,0,0,1,1,0,0,
0,1,0,0,1,0,0,0,
0,0,0,0,1,0,0,0,
0,0,0,0,1,0,0,0,
0,0,1,0,1,0,0,0,
0,0,0,0,1,0,0,0,
0,1,1,1,1,1,1,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,])
test_data3 =np.asfarray(
[0,0,0,0,0,0,0,0,
0,0,0,1,1,0,1,0,
0,0,1,0,0,1,0,0,
0,0,0,0,0,0,1,0,
0,0,0,0,0,0,1,0,
0,0,0,0,0,0,1,0,
0,0,0,1,1,0,1,0,
0,1,0,0,0,0,1,0,
0,0,0,0,1,0,0,0,
0,0,1,0,0,1,0,0,
0,1,0,0,0,0,1,0,
0,1,0,0,0,0,1,0,
0,1,0,0,0,0,1,0,
0,1,0,0,1,0,1,0,
0,0,0,1,0,0,0,0,
0,0,0,0,0,0,0,0])
vis(np.reshape(test_data1,(16,8)), "test1")
vis(np.reshape(test_data2,(16,8)), "test2")
vis(np.reshape(test_data3,(16,8)), "test3")
test_data1[test_data1 == 0] = -1
out1 =net.sim([test_data1])
for i in range(len(target)):
if(out1 == target[i]).all():
print(i)
vis(np.reshape(out1, (16,8)), "out1")
test_data2[test_data2 == 0] = -1
out2 =net.sim([test_data2])
for i in range(len(target)):
if(out2 == target[i]).all():
print(i)
vis(np.reshape(out2, (16,8)), "out2")
test_data3[test_data3 == 0] = -1
out3 =net.sim([test_data3])
for i in range(len(target)):
if(out3 == target[i]).all():
print(i)
vis(np.reshape(out3, (16,8)), "out3")