public async Task <mnistOutput> EvaluateAsync(mnistInput input) { binding.Bind("Input3", input.Input3); var result = await session.EvaluateAsync(binding, "0"); var output = new mnistOutput(); output.Plus214_Output_0 = result.Outputs["Plus214_Output_0"] as TensorFloat; return(output); }
private async Task <int> Evaluate(Grid inkGrid, InkCanvas canvas) { if (canvas.InkPresenter.StrokeContainer.BoundingRect.Height == 0) { return(0); } //Bind model input with contents from InkCanvas VideoFrame vf = await helper.GetHandWrittenImage(inkGrid); mnistInput.Input3 = ImageFeatureValue.CreateFromVideoFrame(vf); //Evaluate the model mnistOutput = await mnistModel.EvaluateAsync(mnistInput); //Convert output to datatype IReadOnlyList <float> VectorImage = mnistOutput.Plus214_Output_0.GetAsVectorView(); IList <float> ImageList = VectorImage.ToList(); //LINQ query to check for highest probability digit var maxIndex = ImageList.IndexOf(ImageList.Max()); return(maxIndex); }