Example #1
0
        public async Task <IDictionary <string, float> > EvaluateAsync(SoftwareBitmap bitmap)
        {
            var videoFrame        = VideoFrame.CreateWithSoftwareBitmap(bitmap);
            var imageFeatureValue = ImageFeatureValue.CreateFromVideoFrame(videoFrame);
            var input             = new SmartInkModelInput()
            {
                data = imageFeatureValue
            };
            var output = new SmartInkModelOutput();

            _binding.Bind("data", input.data);

            _binding.Bind("classLabel", output.ClassLabel);

            _binding.Bind("loss", output.Loss);
            LearningModelEvaluationResult result = await _session.EvaluateAsync(_binding, "0");

            output.ClassLabel = result.Outputs["classLabel"] as TensorString;//).GetAsVectorView()[0];

            output.Loss = result.Outputs["loss"] as IList <IDictionary <string, float> >;
            var dict = new Dictionary <string, float>();

            foreach (var key in output.Loss[0].Keys)
            {
                dict.Add(key, output.Loss[0][key]);
            }

            return(dict);
        }
Example #2
0
        /// <summary>
        /// Evaluate the model
        /// </summary>
        /// <param name="input">The VideoFrame to evaluate</param>
        /// <returns></returns>
        public async Task <ONNXModelOutput> EvaluateAsync(ONNXModelInput input)
        {
            var output  = new ONNXModelOutput();
            var binding = new LearningModelBinding(_session);

            binding.Bind("data", input.data);
            binding.Bind("classLabel", output.classLabel);
            binding.Bind("loss", output.loss);
            LearningModelEvaluationResult result = await _session.EvaluateAsync(binding, "0");

            return(output);
        }
Example #3
0
            public async Task <ModelOutput> EvaluateAsync(OnnxModelInput input)
            {
                var output  = new ModelOutput();
                var binding = new LearningModelBinding(_session);

                binding.Bind("data", input.Data);
                //binding.Bind("classLabel", output.ClassLabel);
                //binding.Bind("loss", output.Loss);
                LearningModelEvaluationResult evalResult = await _session.EvaluateAsync(binding, "0");

                return(output);
            }
Example #4
0
 public static unsafe T Output <T>(this LearningModelEvaluationResult self, int index) where T : class
 {
     return(self.Outputs.ElementAt(index).Value as T);
 }
Example #5
0
 public static unsafe object Output(this LearningModelEvaluationResult self, int index)
 {
     return(self.Outputs.ElementAt(index).Value as object);
 }