public CustomVisionOnlinePrediction(IOptionsSnapshot <AppSettings> settings, ICustomVisionClient customVisionClient) { this.customVisionClient = customVisionClient; Guid projectId; if (settings.Value.CustomVision == null || string.IsNullOrEmpty(settings.Value.CustomVision.ProjectId) || !Guid.TryParse(settings.Value.CustomVision.ProjectId, out projectId)) { projectId = Guid.Empty; } //TODO: move these settings to setting file customVisionSettings = new CustomVisionSettings { CustomVisionPredictionKey = settings.Value.CustomVision?.PredictionKey, CustomVisionProjectId = projectId, Threshold = 0.85f, MaxLength = 5 }; }
public VisionStrategy(IOptionsSnapshot <AppSettings> settings, IHostingEnvironment environment, IComputerVisionClient computerVisionClient, ICustomVisionClient customVisionClient, ILoggerFactory loggerFactory) { object parseDefaultModel; defaultModel = (Enum.TryParse(typeof(Approaches), settings.Value.CognitiveServicesPredictionDefaultModel, ignoreCase: true, result: out parseDefaultModel)) ? (Approaches)parseDefaultModel : Approaches.Default; if (defaultModel == Approaches.Default) { defaultModel = Approaches.ComputerVision; } models = new Dictionary <Approaches, IClassifier> { { Approaches.ComputerVision, new ComputerVisionPrediction(settings, computerVisionClient) }, { Approaches.CustomVisionOffline, new CustomVisionOfflinePrediction(settings, environment, loggerFactory.CreateLogger <CustomVisionOfflinePrediction>()) }, { Approaches.CustomVisionOnline, new CustomVisionOnlinePrediction(settings, customVisionClient) } }; }