diff --git a/DigitDisplay/DigitDisplay.csproj b/DigitDisplay/DigitDisplay.csproj index 7c7af54..f8c47d7 100644 --- a/DigitDisplay/DigitDisplay.csproj +++ b/DigitDisplay/DigitDisplay.csproj @@ -40,6 +40,9 @@ + + ..\packages\System.ValueTuple.4.4.0\lib\netstandard1.0\System.ValueTuple.dll + @@ -103,6 +106,7 @@ ResXFileCodeGenerator Resources.Designer.cs + SettingsSingleFileGenerator Settings.Designer.cs diff --git a/DigitDisplay/ParallelRecognizerControl.xaml.cs b/DigitDisplay/ParallelRecognizerControl.xaml.cs index bb447ab..53eba1a 100644 --- a/DigitDisplay/ParallelRecognizerControl.xaml.cs +++ b/DigitDisplay/ParallelRecognizerControl.xaml.cs @@ -35,11 +35,11 @@ public ParallelRecognizerControl(string classifierName, FSharpFunc progress = new Progress<(string prediction, string actual, string imageData)>(args => + { + CreateUIElements(args.prediction, args.actual, args.imageData, DigitsBox); + }); - var loopResult = Parallel.ForEach(rawData, s => + var loopResult = await Task.Run(() => Parallel.ForEach(rawData, s => { int act = s.Split(',').Select(x => Convert.ToInt32(x)).First(); int[] ints = s.Split(',').Select(x => Convert.ToInt32(x)).Skip(1).ToArray(); var result = Recognizer.predict(ints, classifier); - - //predictions.Enqueue(new PredictionData() { - // prediction = result, actual = act.ToString(), imageData = s }); - - Task.Factory.StartNew(() => - CreateUIElements(result, act.ToString(), s, DigitsBox), - CancellationToken.None, - TaskCreationOptions.None, - options.TaskScheduler - ); - }); - - //Parallel.Invoke(options, () => - //{ - // PredictionData d; - // while (predictions.TryDequeue(out d)) - // { - // if (d.imageData != null) - // CreateUIElements(d.prediction, d.actual, d.imageData, DigitsBox); - // } - //}); + progress.Report((result, act.ToString(), s)); + })); } private void CreateUIElements(string prediction, string actual, string imageData, diff --git a/DigitDisplay/packages.config b/DigitDisplay/packages.config new file mode 100644 index 0000000..a59695c --- /dev/null +++ b/DigitDisplay/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file