public static void Main()
Console.WriteLine("Hello World");
NeuralNetwork myNN = new NeuralNetwork();
myNN.Predict(5000, 100).Dump();
public class NeuralNetwork
double[] inputs = new double[2] { 0, 0 };
double[,] weights0_1 = new double[50, 2]
{3.7181242e+00, 4.8432279e+00},
{1.8999431e-01, 8.4928945e-02},
{1.7447877e-01, 1.7318001e-01},
{1.7678577e-01, 2.8277865e-01},
{1.9562143e-01, 6.7065924e-02},
{2.6228902e-01, 4.4087929e-01},
{2.1739304e-01, 9.9604344e-03},
{-9.0359055e-02, 3.1470594e-01},
{-1.1033775e-01, -6.2010840e-02},
{1.8234293e-01, 3.3588263e-01},
{2.3872694e-01, -6.5329693e-02},
{7.1715693e+00, -2.9200838e+00},
{3.4010189e+00, -2.4733191e+00},
{-5.7760847e-01, 7.4613303e-01},
{2.2572799e-01, -1.3120874e-02},
{1.7278218e-01, 1.9603673e-01},
{2.0098406e-01, 4.7509059e-02},
{-1.1808429e-01, -5.3497553e-02},
{1.8276581e-01, 3.5658592e-01},
{2.2120440e-01, -1.0535066e-02},
{2.2985889e-01, -3.7722494e-02},
{1.9340068e-01, 7.1477138e-02},
{2.1811911e-01, 7.6662535e-03},
{2.2386567e-01, -3.5280001e-03},
{-1.1525679e+00, 2.4877958e+00},
{2.1522720e-01, 1.9618610e-02},
{2.2494572e-01, -1.6237035e-02},
{2.3734966e-01, -6.2569156e-02},
{-1.0058239e-01, -4.2790868e-03},
{1.8575069e-01, 9.7819947e-02},
{1.7724602e-01, 2.4329727e+00},
{2.1882673e-01, -4.6758172e-03},
{1.9143632e-01, 8.1442714e-02},
{1.8851906e-01, 1.2191226e-01},
{7.1294767e-01, 9.5734978e-01},
{-1.0808826e-01, -5.1401693e-02},
{-2.0454910e+00, -7.0807052e-01},
{2.1260118e-01, 1.7064150e-02},
{1.8868323e-01, 3.8305017e-01},
{-3.7883428e-01, 2.3870695e+00},
{1.7435448e-01, 2.1795699e-01},
{-2.0860322e+00, 2.4949291e+00},
{1.7952582e-01, 3.9738351e-01},
{-2.4988817e-01, 8.8978171e-02},
{1.8500884e-01, 3.5306433e-01},
{1.8012024e-01, 1.3101071e-01},
{1.7510928e-01, 2.1914512e-01},
{1.8359575e-01, 1.1754730e-01},
{6.9044775e-01, 2.4202800e+00},
{1.7892697e-01, 2.9378608e-01}
double[] bias0 = new double[50]
-2.3367682e+00, -1.1501583e+00, -7.3057008e-01, -3.6470985e-01,
-1.2517741e+00, -6.1266291e-01, -1.6074841e+00, 2.2233373e-01,
3.9737937e-01, -2.3464517e-01, -2.0171134e+00, -1.3730386e+00,
-7.6696730e-01, 1.4606394e-01, -1.7490097e+00, -6.3602972e-01,
-1.3539231e+00, 5.2611119e-01, -1.6846462e-01, -1.6931885e+00,
-1.8483863e+00, -1.2193197e+00, -1.6202984e+00, -1.7073445e+00,
2.8998342e-01, -1.5625464e+00, -1.7467585e+00, -1.9930359e+00,
4.1744280e-01, -1.0742764e+00, -1.4126083e-01, -1.6549908e+00,
-1.1731796e+00, -1.0232612e+00, -2.9964573e+00, 3.9473262e-01,
1.5147550e+01, -1.5416793e+00, -1.4313437e-01, -1.6357638e-01,
-5.7265162e-01, 5.6088722e-01, 1.2328125e-02, 2.1788163e+00,
-2.0377122e-01, -9.2096871e-01, -5.7525057e-01, -9.9430978e-01,
1.8533599e-01, -3.4656471e-01
double[] outputs0_1 = new double[50];
double[] weights1_2 = new double[50]
6.22742 , 2.1340587 , 1.9121928 , 1.7014545 ,
2.1851714 , 2.1749167 , 2.4065764 , 0.07037146,
-0.54945576, 1.6167214 , 2.6145868 , -10.352055 ,
-6.5787644 , 0.9858342 , 2.494111 , 1.8638382 ,
2.2403443 , -0.6256521 , 1.564051 , 2.4120483 ,
2.4976454 , 2.1679068 , 2.4145594 , 2.4850614 ,
3.3983681 , 2.388469 , 2.4647746 , 2.5786088 ,
-0.39433265, 2.0896094 , 3.0486639 , 2.3924944 ,
2.1488025 , 2.1000893 , -4.8418403 , -0.5029116 ,
-10.907586 , 2.3477013 , 1.5486991 , 3.403727 ,
1.8323877 , 4.429712 , 1.4457681 , -1.7556018 ,
1.5991341 , 2.0183363 , 1.8343697 , 2.0616786 ,
private double Sigmoid(double input)
return 1 / (1 + Math.Pow(Math.E, -input));
public double Predict(double i0, double i1)
for (int cntr = 0; cntr < 50; cntr++)
outputs0_1[cntr] = Sigmoid((inputs[0] * weights0_1[cntr, 0]) + (inputs[1] * weights0_1[cntr, 1]) + bias0[cntr]);
for (int cntr = 0; cntr < 50; cntr++)
result += outputs0_1[cntr] * weights1_2[cntr];