Project Description

A Hopfield neural net is trained on a couple of black and white pictures to categorize a given input picture as one of the learned patterns.

It is a simple implementation using C# 4.

Sample

Learned patterns

patterns.png
somehow pattern (6) got lost ;-)

Given Input-Image

given_input.png

Generated output

outputs.png

The output always starts with the given input and then shows each iteration of the Hopfield neural net. The last step should be one of the given input patterns (if you are lucky).

The sample files are included in the source code.

The patterns and the input have to share the same dimensions and are expected to be black and white only. The calculated weights are very memory extensive... they need sizeof(double)*dx^2*dy^2 bits (The sample uses 500mb). This means you are free to change the image size, but be prepared to order some ram-upgrades ;-)

Last edited Sep 16, 2010 at 8:45 PM by fabsenet, version 4