public CustomVisionOfflinePrediction(IOptionsSnapshot <AppSettings> settings, IHostingEnvironment environment, ILogger <CustomVisionOfflinePrediction> logger) { this.settings = settings.Value; this.environment = environment; this.logger = logger; modelSettings = Settings; }
private IEnumerable <LabelConfidence> Process(byte[] image, TensorFlowNeuralNetworkSettings settings) { var(model, labels) = LoadModelAndLabels(settings.ModelFilename, settings.LabelsFilename); var imageTensor = ImageUtil.CreateTensorFromImage(image); var result = Eval(model, imageTensor, settings.InputTensorName, settings.OutputTensorName, labels).ToArray(); IEnumerable <LabelConfidence> labelsToReturn = result .Where(c => c.Probability >= settings.Threshold) .OrderByDescending(c => c.Probability); return(labelsToReturn); }