Esempio n. 1
0
        public static Perseptron FromFile(String filename)
        {
            IFormatter formatter = new BinaryFormatter();
                        Stream stream = new FileStream(filename,
                                                                            FileMode.Open,
                                                                            FileAccess.Read,
                                                                            FileShare.Read);
                        TrainedPerceptron ts = (TrainedPerceptron)formatter.Deserialize(stream);
                        stream.Close();
                        var p = new Perseptron(ts.sLayerSize, ts.aLayerSize, ts.rLayerSize);

                        p.vesaStoA = ts.v;
                        p.aLayerThreshold = ts.v0;
                        p.vesaAtoR = ts.w;
                        p.rLayerThresold = ts.w0;

                        return p;
        }
Esempio n. 2
0
 private void TrainPerseptron()
 {
     var folderName = AppDomain.CurrentDomain.BaseDirectory;
     var perFile = folderName + "\\per.data";
     var imgsFolder = folderName + "\\Lightshot";
     var imgsNames = Directory.GetFiles(imgsFolder);
     var imgToVes = new Dictionary<int[], double[]>();
     for (int i = 0; i < Letters.Length; i++)
     {
         var fn = String.Format("{0}\\Screenshot_{1}.png", imgsFolder, i + 1);
         var img = new Bitmap(System.Drawing.Image.FromFile(fn));
         var ves = new double[imgsNames.Length];
         ves[i] = 1;
         imgToVes.Add(BitmapEditor.ImgToInts(img), ves);
     }
     System.Diagnostics.Debug.WriteLine("Training start");
     Perseptron p = new Perseptron(30 * 40, 30 * 40, Letters.Length);
     p.Train(imgToVes);
     p.Save(perFile);
 }