Пример #1
0
        private void loadTrain(string path, string lpath, ClassifiedSample <double[][, ]> sample)
        {
            sample.Clear();

            using (var lfile = File.Open(lpath, FileMode.Open, FileAccess.Read))
                using (var reader = new StreamReader(lfile))
                {
                    reader.ReadLine(); // read label file header

                    var dir = new DirectoryInfo(path);
                    foreach (var file in dir.EnumerateFiles())
                    {
                        var data    = loadFile(file.FullName);
                        var clsName = reader.ReadLine().Split(',')[1];
                        var cls     = m_Classes.First(c => c.Value.Name.Equals(clsName)).Value;
                        sample.Add(data, cls);
                    }
                }

            Console.WriteLine("Loaded files from: {0}", path);
        }
Пример #2
0
        private void loadSample(string ipath, ClassifiedSample <double[][, ]> sample)
        {
            sample.Clear();

            using (var ifile = File.Open(ipath, FileMode.Open, FileAccess.Read))
                using (var reader = new StreamReader(ifile))
                {
                    var header = reader.ReadLine();

                    while (true)
                    {
                        var str = reader.ReadLine();
                        if (string.IsNullOrWhiteSpace(str))
                        {
                            break;
                        }

                        var raw = str.Split(',')
                                  .Select(d => int.Parse(d))
                                  .ToArray();

                        var label = raw[0];
                        var data  = new double[1][, ] {
                            new double[IMG_SIZE, IMG_SIZE]
                        };

                        for (int i = 1; i <= IMG_SIZE * IMG_SIZE; i++)
                        {
                            var shade = raw[i]; // do not invert 255-* because we want to keep logical format: 0=white, 255=black - not image color format!
                            var x     = (i - 1) % IMG_SIZE;
                            var y     = (i - 1) / IMG_SIZE;
                            data[0][y, x] = shade / 255.0D;
                        }
                        sample.Add(data, m_Classes[label]);
                    }

                    Console.WriteLine("Loaded: {0}", ipath);
                }
        }