示例#1
0
        static void Main(string[] args)
        {
            Case[] cases = Utilities.ReadCSV(Path.Combine(@"C:\Users\Julius Jacobsohn\OneDrive\Dokumente\MNIST", "mnist_train_small.csv"));

            Layer[] layers = new Layer[4];

            ConvolutionalLayer  layer1 = new ConvolutionalLayer(1, 5, 8, cases[0].Data.Size);
            ReluLayer           layer2 = new ReluLayer(layer1.Out.Size);
            PoolLayer           layer3 = new PoolLayer(2, 2, layer2.Out.Size);
            FullyConnectedLayer layer4 = new FullyConnectedLayer(10, layer3.Out.Size);

            layers[0] = layer1;
            layers[1] = layer2;
            layers[2] = layer3;
            layers[3] = layer4;

            float amse = 0;
            int   ic   = 0;

            for (int ep = 0; ep < 100000;)
            {
                foreach (Case c in cases)
                {
                    float xError = Train(layers, c.Data, c.Out);
                    amse += xError;

                    ep++;
                    ic++;
                    //Console.WriteLine("Case " + ep + " err=" + amse / ic);
                }
            }
        }