Exemplo n.º 1
0
        public async Task <MNISTModelOutput> EvaluateAsync(MNISTModelInput input)
        {
            MNISTModelOutput            output  = new MNISTModelOutput();
            LearningModelBindingPreview binding = new LearningModelBindingPreview(learningModel);

            binding.Bind("Input3", input.Input3);
            binding.Bind("Plus214_Output_0", output.Plus214_Output_0);
            LearningModelEvaluationResultPreview evalResult = await learningModel.EvaluateAsync(binding, string.Empty);

            return(output);
        }
Exemplo n.º 2
0
        /* la vera e propria valutazione avviene solamente allo scatenarsi dell'evento di Click
         * sul pulsante Recognize creato nell'UI, le operazioni da effettuare in questo caso sono
         * solamente due e rappresentano le ultime due fasi: la prima è il binding delle proprietà
         * d'input verso il modello (in questo caso solo una) e la seconda è l'analisi con il recupero
         * delle proprietà di output */

        private async void recognizeButton_Click(object sender, RoutedEventArgs e)
        {
            // associa l'input del modello al contenuto di InkCanvas
            ModelInput.Input3 = await helper.GetHandWrittenImage(inkGrid);

            // valuta il modello
            ModelOutput = await ModelGen.EvaluateAsync(ModelInput);

            // query LINQ  per verificare la cifra di probabilità più alta
            var maxIndex = ModelOutput.Plus214_Output_0.IndexOf(ModelOutput.Plus214_Output_0.Max());

            numberLabel.Text = maxIndex.ToString();
        }
Exemplo n.º 3
0
        private async void recognizeButton_Click(object sender, RoutedEventArgs e)
        {
            //Bind model input with contents from InkCanvas
            ModelInput.Input3 = await helper.GetHandWrittenImage(inkGrid);

            //Evaluate the model
            ModelOutput = await ModelGen.EvaluateAsync(ModelInput);

            //LINQ query to check for highest probability digit
            var maxIndex = ModelOutput.Plus214_Output_0.IndexOf(ModelOutput.Plus214_Output_0.Max());

            numberLabel.Text = maxIndex.ToString();
        }
Exemplo n.º 4
0
        private async void recognizeButton_Click(object sender, RoutedEventArgs e)
        {
            //On lie l'entrée du modèle avec le contenu du canevas que l'on a modifié pour correspondre au format attendu
            ModelInput.Input3 = await helper.GetHandWrittenImage(inkGrid);

            //Prédiction du modèle
            ModelOutput = await ModelGen.EvaluateAsync(ModelInput);

            //On trouve le chiffre avec la probabilité la plus élevée
            var maxIndex = ModelOutput.Plus214_Output_0.IndexOf(ModelOutput.Plus214_Output_0.Max());

            //On affiche ce chiffre
            numberLabel.Text = maxIndex.ToString();
        }
Exemplo n.º 5
0
        private async void recognizeButton_Click(object sender, RoutedEventArgs e)
        {
            //Bind model input with contents from InkCanvas
            ModelInput.Input3 = await helper.GetHandWrittenImage(inkGrid);

            //Evaluate the model
            ModelOutput = await ModelGen.EvaluateAsync(ModelInput);

            //Iterate through evaluation output to determine highest probability digit
            float maxProb  = 0;
            int   maxIndex = 0;

            for (int i = 0; i < 10; i++)
            {
                if (ModelOutput.Plus214_Output_0[i] > maxProb)
                {
                    maxIndex = i;
                    maxProb  = ModelOutput.Plus214_Output_0[i];
                }
            }
            numberLabel.Text = maxIndex.ToString();
        }