public ActionResult PostFeature(FEATURE fEATURE, HttpPostedFileBase file) { CMSAPPEntities db = new CMSAPPEntities(); var model = db.FEATURES.Where(x => x.ID.Equals(fEATURE.ID)).FirstOrDefault(); string dstring = ""; dstring = DateTime.Now.ToLongDateString(); if (file != null && file.ContentLength > 0) { string fileName = Path.GetFileName(file.FileName); string imgpath = Path.Combine(Server.MapPath("~/images/"), dstring + fileName); file.SaveAs(imgpath); fEATURE.FEATURE_PATH = "~/images/" + dstring + file.FileName; } if (model != null) { model.FEATURE_NAME = fEATURE.FEATURE_NAME; model.SEQ = fEATURE.SEQ; } else { db.FEATURES.Add(fEATURE); } db.SaveChanges(); return(RedirectToAction("FeatureList")); }
public static IFeature loadFeature(FEATURE feature) { switch (feature) { case FEATURE.PRIMARY: return(featurePrimary); case FEATURE.SECONDARY: return(featureSecondary); } return(null); }
public ActionResult FeatureDelete(int id) { try { using (CMSAPPEntities db = new CMSAPPEntities()) { FEATURE item = db.FEATURES.Where(x => x.ID == id).FirstOrDefault(); db.FEATURES.Remove(item); db.SaveChanges(); return(RedirectToAction("FeatureList")); } } catch (Exception ex) { return(RedirectToAction("FeatureList")); } }
public static IFeature loadFeature(FEATURE feature) { switch (feature) { case FEATURE.NOTES: return(featureNotes); case FEATURE.STANDINGS: return(featureStandings); case FEATURE.WHOS_HOT: return(featureWhosHot); case FEATURE.INJURY_REPORT: return(featureInjuries); case FEATURE.DRAFT_ORDER: if (Config.STRAIGHT_DRAFT_ORDER) { return(featureDraftOrderStraight); } else { return(featureDraftOrderTierd); } case FEATURE.RECORD_BOOK: return(featureRecordBook); case FEATURE.USAGE: return(featureUsage); case FEATURE.SCHEDULE: return(FeatureSchedule); case FEATURE.UNDERUSAGE: return(featureunderUsage); } return(null); }
public static void Run() { string interactionFile = "serialized.txt"; MwtLogger logger = new MwtLogger(interactionFile); MwtExplorer mwt = new MwtExplorer("test", logger); uint numActions = 10; float epsilon = 0.2f; uint tau = 0; uint bags = 2; float lambda = 0.5f; int policyParams = 1003; CustomParams customParams = new CustomParams() { Value1 = policyParams, Value2 = policyParams + 1 }; /*** Initialize Epsilon-Greedy explore algorithm using a default policy function that accepts parameters ***/ mwt.InitializeEpsilonGreedy <int>(epsilon, new StatefulPolicyDelegate <int>(SampleStatefulPolicyFunc), policyParams, numActions); /*** Initialize Epsilon-Greedy explore algorithm using a stateless default policy function ***/ //mwt.InitializeEpsilonGreedy(epsilon, new StatelessPolicyDelegate(SampleStatelessPolicyFunc), numActions); /*** Initialize Tau-First explore algorithm using a default policy function that accepts parameters ***/ //mwt.InitializeTauFirst<CustomParams>(tau, new StatefulPolicyDelegate<CustomParams>(SampleStatefulPolicyFunc), customParams, numActions); /*** Initialize Tau-First explore algorithm using a stateless default policy function ***/ //mwt.InitializeTauFirst(tau, new StatelessPolicyDelegate(SampleStatelessPolicyFunc), numActions); /*** Initialize Bagging explore algorithm using a default policy function that accepts parameters ***/ //StatefulPolicyDelegate<int>[] funcs = //{ // new StatefulPolicyDelegate<int>(SampleStatefulPolicyFunc), // new StatefulPolicyDelegate<int>(SampleStatefulPolicyFunc2) //}; //int[] parameters = { policyParams, policyParams }; //mwt.InitializeBagging<int>(bags, funcs, parameters, numActions); /*** Initialize Bagging explore algorithm using a stateless default policy function ***/ //StatelessPolicyDelegate[] funcs = //{ // new StatelessPolicyDelegate(SampleStatelessPolicyFunc), // new StatelessPolicyDelegate(SampleStatelessPolicyFunc2) //}; //mwt.InitializeBagging(bags, funcs, numActions); /*** Initialize Softmax explore algorithm using a default policy function that accepts parameters ***/ //mwt.InitializeSoftmax<int>(lambda, new StatefulScorerDelegate<int>(SampleStatefulScorerFunc), policyParams, numActions); /*** Initialize Softmax explore algorithm using a stateless default policy function ***/ //mwt.InitializeSoftmax(lambda, new StatelessScorerDelegate(SampleStatelessScorerFunc), numActions); FEATURE[] f = new FEATURE[2]; f[0].X = 0.5f; f[0].Index = 1; f[1].X = 0.9f; f[1].Index = 2; string otherContext = "Some other context data that might be helpful to log"; CONTEXT context = new CONTEXT(f, otherContext); UInt32 chosenAction = mwt.ChooseAction(context, "myId"); INTERACTION[] interactions = mwt.GetAllInteractions(); mwt.Unintialize(); MwtRewardReporter mrr = new MwtRewardReporter(interactions); string joinKey = "myId"; float reward = 0.5f; if (!mrr.ReportReward(joinKey, reward)) { throw new Exception(); } MwtOptimizer mot = new MwtOptimizer(interactions, numActions); float eval1 = mot.EvaluatePolicy(new StatefulPolicyDelegate <int>(SampleStatefulPolicyFunc), policyParams); mot.OptimizePolicyVWCSOAA("model_file"); float eval2 = mot.EvaluatePolicyVWCSOAA("model_file"); Console.WriteLine(chosenAction); Console.WriteLine(interactions); logger.Flush(); // Create a new logger to read back interaction data logger = new MwtLogger(interactionFile); INTERACTION[] inters = logger.GetAllInteractions(); // Load and save reward data to file string rewardFile = "rewards.txt"; RewardStore rewardStore = new RewardStore(rewardFile); rewardStore.Add(new float[2] { 1.0f, 0.4f }); rewardStore.Flush(); // Read back reward data rewardStore = new RewardStore(rewardFile); float[] rewards = rewardStore.GetAllRewards(); }
public static void Clock() { float epsilon = .2f; int policyParams = 1003; string uniqueKey = "clock"; int numFeatures = 1000; int numIter = 1000; int numWarmup = 100; int numInteractions = 1; uint numActions = 10; string otherContext = null; double timeInit = 0, timeChoose = 0, timeSerializedLog = 0, timeTypedLog = 0; System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch(); for (int iter = 0; iter < numIter + numWarmup; iter++) { watch.Restart(); MwtExplorer mwt = new MwtExplorer("test"); mwt.InitializeEpsilonGreedy <int>(epsilon, new StatefulPolicyDelegate <int>(SampleStatefulPolicyFunc), policyParams, numActions); timeInit += (iter < numWarmup) ? 0 : watch.Elapsed.TotalMilliseconds; FEATURE[] f = new FEATURE[numFeatures]; for (int i = 0; i < numFeatures; i++) { f[i].Index = (uint)i + 1; f[i].X = 0.5f; } watch.Restart(); CONTEXT context = new CONTEXT(f, otherContext); for (int i = 0; i < numInteractions; i++) { mwt.ChooseAction(context, uniqueKey); } timeChoose += (iter < numWarmup) ? 0 : watch.Elapsed.TotalMilliseconds; watch.Restart(); string interactions = mwt.GetAllInteractionsAsString(); timeSerializedLog += (iter < numWarmup) ? 0 : watch.Elapsed.TotalMilliseconds; for (int i = 0; i < numInteractions; i++) { mwt.ChooseAction(context, uniqueKey); } watch.Restart(); mwt.GetAllInteractions(); timeTypedLog += (iter < numWarmup) ? 0 : watch.Elapsed.TotalMilliseconds; } Console.WriteLine("--- PER ITERATION ---"); Console.WriteLine("# iterations: {0}, # interactions: {1}, # context features {2}", numIter, numInteractions, numFeatures); Console.WriteLine("Init: {0} micro", timeInit * 1000 / numIter); Console.WriteLine("Choose Action: {0} micro", timeChoose * 1000 / (numIter * numInteractions)); Console.WriteLine("Get Serialized Log: {0} micro", timeSerializedLog * 1000 / numIter); Console.WriteLine("Get Typed Log: {0} micro", timeTypedLog * 1000 / numIter); Console.WriteLine("--- TOTAL TIME: {0} micro", (timeInit + timeChoose + timeSerializedLog + timeTypedLog) * 1000); }