public TensorflowModelOutput Evaluate(TensorfloModelInput input) { var outputNames = new[] { OutputName }; var outputs = new float[labels.Count()]; inferenceInterface.Feed(InputName, input.Data, 1, InputSize, InputSize, 3); inferenceInterface.Run(outputNames); inferenceInterface.Fetch(OutputName, outputs); return(TensorflowModelOutput.CreateTensorflowModelOutput(labels, outputs)); }
public async Task <IReadOnlyList <ImageClassification> > ClassifyImage(byte[] image) { if (!IsInitialized) { await Init(); } var input = TensorfloModelInput.CreateFrom(image); var results = tensorflowModel.Evaluate(input); return(results.Loss .Select(p => new ImageClassification(p.Key, p.Value)) .Where(p => p.Probability > 0.85) .ToList()); }