public static void Initialize() { if (_resources != null) { return; } var settings = CNTKModelPredictionSettings.FromWebSettings(); var labels = LoadLabels(settings.LabelsFilename); var model = LoadModel(settings.ModelFilename); _resources = new CNTKModelPredictionResources() { Settings = settings, Labels = labels, Model = model }; }
private async Task <IEnumerable <LabelConfidence> > ProcessAsync(byte[] image, CNTKModelPredictionSettings settings) { var labels = _CNTKModelPredictionResources.Labels; var model = _CNTKModelPredictionResources.Model; var input = model.Arguments.Single(); var output = model.Output; var imageTensor = LoadImageTensor(image, input); var modelEval = await EvalAsync(model, imageTensor, input, output, labels); return(modelEval.Where(c => c.Probability >= settings.Threshold) .OrderByDescending(c => c.Probability)); }