Листинг 11 – Выполнение предсказания для зашумленного образа
N
= 50
noisy_spider
= make_a_noise(spider.copy(),N)
patterns
= [rectangle,triangle,circle,spider]
hopfield_net.train(patterns)
print("Зашумленный
образ\t Ошибка в {0} пикселей ({1}%)".format(N,
round(N
/ 196
* 100)
))
plt.matshow(noisy_spider)
plt.show()
restored_pattern
= hopfield_net.predict(noisy_spider)
print("Полученное
предсказание")
plt.matshow(restored_pattern)
plt.show()
print("Исходный
образ")
plt.matshow(spider)
plt.show()
#
Вычисление ошибки
print("Ошибка
восстановления:")
if
(np.sum(spider.flatten()
!= restored_pattern.flatten())) != 0:
print(np.sum(noisy_spider.flatten()
!= restored_pattern.flatten()) / (np.sum(spider.flatten()
!= restored_pattern.flatten())))
else:
print(0)
Рисунок 6 – Зашумленный образ и его
восстановление