Example #1
0
        ///<summary>
        ///Load MNIST data.
        ///If it fails, it returns null.
        ///</summary>
        ///<param name = "path"> Image data path. </param>
        ///<returns> </returns>
        public static MnistImageLoader Load(string path)
        {
            //File does not exist
            if (File.Exists(path) == false)
            {
                return(null);
            }

            MnistImageLoader loader = new MnistImageLoader();

            //Decompose byte array
            using (FileStream inStream = new FileStream(path, FileMode.Open, FileAccess.Read))
                using (GZipStream decompStream = new GZipStream(inStream, CompressionMode.Decompress))
                {
                    BinaryReaderBE reader = new BinaryReaderBE(decompStream);

                    loader.magicNumber     = reader.ReadInt32();
                    loader.numberOfImages  = reader.ReadInt32();
                    loader.numberOfRows    = reader.ReadInt32();
                    loader.numberOfColumns = reader.ReadInt32();

                    int pixelCount = loader.numberOfRows * loader.numberOfColumns;
                    for (int i = 0; i < loader.numberOfImages; i++)
                    {
                        byte[] pixels = reader.ReadBytes(pixelCount);
                        loader.bitmapList.Add(pixels);
                    }

                    reader.Close();
                }

            return(loader);
        }
Example #2
0
        public MnistDataLoader()
        {
            string           trainlabelPath   = InternetFileDownloader.Donwload(DOWNLOAD_URL + TRAIN_LABEL, TRAIN_LABEL, TRAIN_LABEL_HASH);
            MnistLabelLoader trainLabelLoader = MnistLabelLoader.Load(trainlabelPath);

            this.TrainLabel = trainLabelLoader.labelList;

            string           trainimagePath   = InternetFileDownloader.Donwload(DOWNLOAD_URL + TRAIN_IMAGE, TRAIN_IMAGE, TRAIN_IMAGE_HASH);
            MnistImageLoader trainImageLoader = MnistImageLoader.Load(trainimagePath);

            this.TrainData = trainImageLoader.bitmapList.ToArray();


            string           teachlabelPath   = InternetFileDownloader.Donwload(DOWNLOAD_URL + TEACH_LABEL, TEACH_LABEL, TEACH_LABEL_HASH);
            MnistLabelLoader teachLabelLoader = MnistLabelLoader.Load(teachlabelPath);

            this.TeachLabel = teachLabelLoader.labelList;

            string           teachimagePath   = InternetFileDownloader.Donwload(DOWNLOAD_URL + TEACH_IMAGE, TEACH_IMAGE, TEACH_IMAGE_HASH);
            MnistImageLoader teachImageLoader = MnistImageLoader.Load(teachimagePath);

            this.TeachData = teachImageLoader.bitmapList.ToArray();
        }