private void InitHopfieldModelFromTextData(string initDir) { var di = new DirectoryInfo(initDir); var files = di.GetFiles("*.txt"); size = files.Length; xs = new List <int[]>(size); classes = new List <string>(size); for (var i = 0; i < size; ++i) { var numbers = new List <int>(); var rows = File.ReadAllLines(files[i].FullName); foreach (var line in rows) { var splitted = line.Split(' '); foreach (var word in splitted) { if (word != "") { numbers.Add(int.Parse(word)); } } } xs.Add(numbers.ToArray()); var className = Path.GetFileNameWithoutExtension(files[i].Name); classes.Add(className); } assotiatedMemory = new HopfieldModel(xs); }
private int getSampleIndex(int[] y) { var ind = 0; var minHammingDist = HopfieldModel.hammingDistance(xs[0], y); for (var i = 1; i < xs.Count; ++i) { var hd = HopfieldModel.hammingDistance(xs[i], y); if (hd < minHammingDist) { ind = i; minHammingDist = hd; } } return(ind); }
private void InitHopfieldModel(string initDir) { var di = new DirectoryInfo(initDir); var files = di.GetFiles("*.jpg"); size = files.Length; xs = new List <int[]>(size); classes = new List <string>(size); for (var i = 0; i < size; ++i) { var b = new Bitmap(Image.FromFile(files[i].FullName)); var bipolarized = SignalProcessor.bipolarize(b, Color.FromArgb(0, 0, 0), 50); xs.Add(bipolarized); var className = Path.GetFileNameWithoutExtension(files[i].Name); classes.Add(className); } assotiatedMemory = new HopfieldModel(xs); }