private async Task <string> RunExperiment(ApplicationVersionModel applicationVersion, FoldModel fold, int index) { var versionId = Guid.NewGuid().ToString().Substring(0, 5) + index; try { Console.WriteLine($"Uploading Version: {index}"); await ImportFoldVersion(applicationVersion, fold, versionId); ColoredConsole.WriteLine($"Success Uploading Version: {index}", ConsoleColor.Green); Console.WriteLine($"Training Version: {index}"); await _luisClient.TrainVersion(_applicationId, versionId); await this.WaitForTraining(versionId); ColoredConsole.WriteLine($"Success Training Version: {versionId}", ConsoleColor.Green); var testId = (await _luisClient.CreateTestDataSet(_applicationId, versionId, fold.TestSet.ToArray())).DeserializeObject <string>(); return(await _luisClient.RunDataSetTest(_applicationId, versionId, testId)); } catch (Exception e) { ColoredConsole.WriteLine(e.Message, ConsoleColor.Red); throw; } }
protected override void OnActionExecuting(ActionExecutingContext filterContext) { EncryptDecrypt enc = new EncryptDecrypt(); if (Request.Cookies["AppModel" + cons.cModuleID] != null) { apps = JsonConvert.DeserializeObject <ApplicationVersionModel>(Request.Cookies["AppModel" + cons.cModuleID].Value); connString = enc.Decrypt(ConfigurationManager.ConnectionStrings["SghDbContextConnString"].ConnectionString, true); SqlConnectionString = connString + ";Application Name=WebUtilities"; SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(SqlConnectionString); string IPAddress = builder.DataSource; ViewBag.VersionID = apps.MajorVersion + "." + apps.MinorVersion; ViewBag.Title = apps.ModuleName; ViewBag.BranchCode = apps.ModuleName; ViewBag.DateDeployed = apps.DateDeployed; ViewBag.BranchName = apps.Name; ViewBag.Address = apps.Address; ViewBag.PhoneNo = apps.PhoneNo; ViewBag.FaxNo = apps.FaxNo; ViewBag.IssueAuthorityCode = apps.IssueAuthorityCode; ViewBag.Developer = apps.Developer; ViewBag.ConServer = "HIS"; // TBA ViewBag.LocalIPAddress = LocalIPAddress(); ViewBag.CopyRight = apps.CopyRight; } base.OnActionExecuting(filterContext); _setLogInfo(); }
private async Task <string> ImportFoldVersion(ApplicationVersionModel applicationVersion, FoldModel fold, string versionName) { var foldVersion = applicationVersion.DeepClone(); foldVersion.Utterances = fold.TrainingSet.ToArray(); foldVersion.Intents = foldVersion.Intents.Where(x => foldVersion.Utterances.Any(y => y.Intent == x.Name)).ToArray(); var response = await _luisClient.ImportVersion(_applicationId, versionName, foldVersion); return(response); }
public PartialViewResult GetMenu() { ApplicationVersionModel apps = new ApplicationVersionModel(); ApplicationGlobal glob = new ApplicationGlobal(); ConstantModel cons = new ConstantModel(); glob.UserID = this.OperatorId.ToString(); List <ApplicationMenuModel> menu = glob.GetApplicationMenu(); return(PartialView("_Menu", menu)); }
public ActionResult Index() { ApplicationVersionModel apps = new ApplicationVersionModel(); ApplicationGlobal glob = new ApplicationGlobal(); ConstantModel cons = new ConstantModel(); glob.UserID = this.OperatorId.ToString(); List <ApplicationMenuModel> menu = glob.GetApplicationMenu(); return(View(menu)); // return View(); }
public async Task <List <TestResultModel[]> > RunExperiment(string applicationId, string versionId, bool stratified, int numberOfFolds = 5) { try { Console.Write($"Downloading Application Version: "); _applicationVersion = (await _luisClient.ExportVersion(applicationId, versionId)).DeserializeObject <ApplicationVersionModel>(); ColoredConsole.WriteLine("Success", ConsoleColor.Green); Console.Write($"Creating Experiment Application: "); _applicationId = await this.CreateApplication(_applicationVersion.Name, _applicationVersion.Culture); ColoredConsole.WriteLine("Success", ConsoleColor.Green); FoldFactory foldFactory = stratified ? new FoldFactoryStratified() as FoldFactory : new FoldFactoryCluster() as FoldFactory; var folds = foldFactory.SeparateFolds(_applicationVersion.Utterances, numberOfFolds); var tasks = new List <Task <string> >(); var index = 1; foreach (var fold in folds) { tasks.Add(Task.Run(async() => await RunExperiment(_applicationVersion, fold, index++))); Thread.Sleep(1000); } Task.WaitAll(tasks.ToArray()); return(tasks.Select(x => x.Result.DeserializeObject <TestResultModel[]>()).ToList()); } catch (Exception e) { ColoredConsole.WriteLine(e.Message, ConsoleColor.Red); throw; } finally { if (!string.IsNullOrEmpty(_applicationId)) { Console.Write($"Deleting Experiment Application: "); await this._luisClient.DeleteApplication(_applicationId); ColoredConsole.WriteLine("Success", ConsoleColor.Green); } this._luisClient.Dispose(); } }
public void GetApplicationMenu() { if (Request.Cookies["MenuModel"] == null) { ApplicationGlobal app = new ApplicationGlobal(); ApplicationVersionModel model = app.GetApplicationDetail(); ControllerContext.StoreModelToCookies("MenuModel", model); } else { var d = JsonConvert.DeserializeObject <ApplicationVersionModel>(Request.Cookies["AppModel"].Value); _version = d.MajorVersion + "." + d.MinorVersion; } }