/// <summary> /// MNIST のラベルファイルをロードする. /// 失敗した時は null を返す. /// </summary> /// <param name="path">ラベルファイルのパス.</param> /// <returns></returns> public static MnistLabelLoader Load(string path) { // ファイルが存在しない if (File.Exists(path) == false) { return(null); } MnistLabelLoader loader = new MnistLabelLoader(); 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.numberOfItems = reader.ReadInt32(); loader.labelList = reader.ReadBytes(loader.numberOfItems); reader.Close(); } return(loader); }
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(); }