예제 #1
0
        private void button8_Click(object sender, EventArgs e)
        {
            nn = new NeuralUtility();
            lLog2.Items.Add("Loading... wait...");
            nn.LoadNetwork("net1.txt");
            lLog2.Items.Add("Loaded from net.txt");

            lLog.Items.Clear();

            nn.LogFunction = Log;

            nn.ShowDefinition();

            nn.LogFunction = Log2;
        }
예제 #2
0
        private void button3_Click(object sender, EventArgs e)
        {
            Clear();
            nn             = new NeuralUtility();
            nn.activation  = ACTIVATION.SIGMOID;
            nn.loss        = LOSS.MSE;
            nn.connection  = CONNECTIONS.ALL_IN_ALL;
            nn.bias        = 0.000;
            nn.learnFactor = 0.01;

            nn.LoadFromFile(@"C:\Users\Jonathan\Documents\Visual Studio 2012\Projects\Train_MNIST\Images\0.png", true);
            nn.AddLayer(196);
            nn.AddLayer(49);

            nn.activation = ACTIVATION.SOFTMAX;
            nn.loss       = LOSS.CROSS_ENTROPY;

            nn.AddLayer(10);

            nn.Randomize(2, 9, -1, true);

            // entry

            /*
             * nn.AddLayer(2);
             *
             * //hidden
             * nn.activation = ACTIVATION.SIGMOID;
             * nn.AddLayer(2);
             *
             * //output
             * nn.AddLayer(1);
             *
             * nn.Randomize(2, 9, -1, true);
             *
             * List<Tuple<double, double, double>> trainList = new List<Tuple<double, double, double>>();
             * Tuple<double, double, double> value;
             *
             * value = new Tuple<double, double, double>(0.00, 0.00, 0.00);
             * trainList.Add(value);
             *
             * value = new Tuple<double, double, double>(0.00, 1.00, 1.00);
             * trainList.Add(value);
             *
             * value = new Tuple<double, double, double>(1.00, 0.00, 1.00);
             * trainList.Add(value);
             *
             * value = new Tuple<double, double, double>(1.00, 1.00, 0.00);
             * trainList.Add(value);
             *
             *
             * //train
             * for (int i = 0; i < 10000; i++)
             * {
             *  foreach (Tuple<double, double, double> item in trainList)
             *  {
             *      nn.entry.Clear();
             *      nn.entry.Add(item.Item1);
             *      nn.entry.Add(item.Item2);
             *
             *      nn.expected.Clear();
             *      nn.expected.Add(item.Item3);
             *
             *      nn.Process();
             *      nn.Learn();
             *  }
             * }
             *
             *
             * lLog2.Items.Clear();
             *
             * foreach (Tuple<double, double, double> item in trainList)
             * {
             *  nn.entry.Clear();
             *  nn.entry.Add(item.Item1);
             *  nn.entry.Add(item.Item2);
             *  nn.Process();
             *
             *  lLog2.Items.Add("Test: " + ((int)item.Item1).ToString() + " - " + ((int)item.Item2).ToString());
             *  lLog2.Items.Add("    result: " + nn.output[0].ToString("0.0000"));
             * }
             */
            start  = 1;
            finish = 40000;
            test   = 1000;

            nn.LogFunction = Log;
            nn.ShowDefinition();
        }