private async void OnRecognizedButtonClicked(object sender, RoutedEventArgs e)
        {
            progressRing.Visibility = Visibility.Visible;

            InMemoryRandomAccessStream stream = new InMemoryRandomAccessStream();

            var file = await SaveDrawing();

            var imageStream = await imageProcessor.Process(file);

            TrainConfig result = await perceptron.Activation(imageStream);

            progressRing.Visibility = Visibility.Collapsed;

            var recognitionResult = await RecognizeDialog.ShowDialogAsync(result.Symbol);

            progressRing.Visibility = Visibility.Visible;

            if (recognitionResult == RecognitionResult.Right)
            {
                await perceptron.Calculate(imageStream.CloneStream(), result);
            }
            else
            {
                var rightConfig = await TrainSetConfigHelper.GetOppositTrainConfig(result);

                await perceptron.Calculate(imageStream.CloneStream(), rightConfig);
            }

            progressRing.Visibility = Visibility.Collapsed;

            ClearCanvas();
        }
Example #2
0
        static void Main(string[] args)
        {
            double[]   inp = { 0.0, 0.5, -1.0 };
            double[]   inw = { 1, 2, 3 };
            Perceptron p   = new Perceptron(3);

            p.ReadInput(inp);
            p.ReadWeights(inw);
            p.Activation();
            Console.WriteLine(p.y);
            Console.ReadKey();
        }