Пример #1
0
        public MnistData()
        {
            MnistDataLoader mnistDataLoader = new MnistDataLoader();

            this.Train = createLabeledDataSet(mnistDataLoader.TrainData, mnistDataLoader.TrainLabel);
            this.Eval  = createLabeledDataSet(mnistDataLoader.TeachData, mnistDataLoader.TeachLabel);
        }
Пример #2
0
        public FashionMnistData()
        {
            FashionMnistDataLoader fashionMnistDataLoader = new FashionMnistDataLoader();

            this.Train = createLabeledDataSet(fashionMnistDataLoader.TrainData, fashionMnistDataLoader.TrainLabel);
            this.Eval  = createLabeledDataSet(fashionMnistDataLoader.TeachData, fashionMnistDataLoader.TeachLabel);
        }
Пример #3
0
        public CifarData(bool isCifar100 = false, bool isFineLabel = false)
        {
            CIFARDataLoader cifarDataLoader = new CIFARDataLoader(isCifar100);

            //訓練用データ
            Real[][] x      = new Real[cifarDataLoader.TrainData.Length][];
            Real[]   xLabel = new Real[cifarDataLoader.TrainData.Length];

            //Cifar100のときは100クラス、簡素であれば20クラス、Cifar10のときは10クラス分類
            ClassCount = isCifar100 ? isFineLabel ? 100 : 20 : 10;

            for (int i = 0; i < cifarDataLoader.TrainData.Length; i++)
            {
                x[i] = new Real[3 * 32 * 32];
                for (int j = 0; j < cifarDataLoader.TrainData[i].Length; j++)
                {
                    x[i][j] = cifarDataLoader.TrainData[i][j] / 255.0;
                }

                if (isCifar100 & isFineLabel)
                {
                    xLabel[i] = cifarDataLoader.TrainFineLabel[i];
                }
                else
                {
                    xLabel[i] = cifarDataLoader.TrainLabel[i];
                }
            }

            this.Train = new LabeledDataSet(x, xLabel, new[] { 3, 32, 32 });

            //評価用データ
            Real[][] y      = new Real[cifarDataLoader.TestData.Length][];
            Real[]   yLabel = new Real[cifarDataLoader.TestData.Length];

            for (int i = 0; i < cifarDataLoader.TestData.Length; i++)
            {
                y[i] = new Real[3 * 32 * 32];
                for (int j = 0; j < cifarDataLoader.TestData[i].Length; j++)
                {
                    y[i][j] = cifarDataLoader.TestData[i][j] / 255.0;
                }

                if (isCifar100 & isFineLabel)
                {
                    yLabel[i] = cifarDataLoader.TestFineLabel[i];
                }
                else
                {
                    yLabel[i] = cifarDataLoader.TestLabel[i];
                }
            }

            this.Eval = new LabeledDataSet(y, yLabel, new[] { 3, 32, 32 });
        }
Пример #4
0
        public CifarData(bool isCifar100 = false, bool isFineLabel = false)
        {
            CIFARDataLoader cifarDataLoader = new CIFARDataLoader(isCifar100);

            //Cifar100のときは100クラス、簡素であれば20クラス、Cifar10のときは10クラス分類
            ClassCount = isCifar100 ? isFineLabel ? 100 : 20 : 10;

            if (isCifar100 & isFineLabel)
            {
                this.Train = createLabeledDataSet(cifarDataLoader.TrainData, cifarDataLoader.TrainFineLabel);
                this.Eval  = createLabeledDataSet(cifarDataLoader.TestData, cifarDataLoader.TestFineLabel);
            }
            else
            {
                this.Train = createLabeledDataSet(cifarDataLoader.TrainData, cifarDataLoader.TrainLabel);
                this.Eval  = createLabeledDataSet(cifarDataLoader.TestData, cifarDataLoader.TestLabel);
            }
        }
Пример #5
0
        public MnistData()
        {
            MnistDataLoader mnistDataLoader = new MnistDataLoader();

            //訓練用データ
            Real[][] x      = new Real[mnistDataLoader.TrainData.Length][];
            Real[]   xLabel = new Real[mnistDataLoader.TrainData.Length];

            for (int i = 0; i < mnistDataLoader.TrainData.Length; i++)
            {
                x[i] = new Real[1 * 28 * 28];

                for (int j = 0; j < mnistDataLoader.TrainData[i].Length; j++)
                {
                    x[i][j] = mnistDataLoader.TrainData[i][j] / 255.0;
                }

                xLabel[i] = mnistDataLoader.TrainLabel[i];
            }

            this.Train = new LabeledDataSet(x, xLabel, new[] { 1, 28, 28 });


            //評価用データ
            Real[][] y      = new Real[mnistDataLoader.TeachData.Length][];
            Real[]   yLabel = new Real[mnistDataLoader.TeachData.Length];

            for (int i = 0; i < mnistDataLoader.TeachData.Length; i++)
            {
                y[i] = new Real[1 * 28 * 28];

                for (int j = 0; j < mnistDataLoader.TeachData[i].Length; j++)
                {
                    y[i][j] = mnistDataLoader.TeachData[i][j] / 255.0;
                }

                yLabel[i] = mnistDataLoader.TeachLabel[i];
            }

            this.Eval = new LabeledDataSet(y, yLabel, new[] { 1, 28, 28 });
        }