public IEnumerable <RlmLearnedCase> GetLearnedCases(RlmGetLearnedCasesParams data) { RlmNetworkWebAPI network = LoadNetworkFromCache(data); RlmSessionCaseHistory hist = network.SessionCaseHistory; return(hist.GetLearnedCases(data.RneuronId, data.SolutionId, data.Scale)); }
public void CreateOrLoadNetwork(CreateLoadNetworkParams data) { IRlmDbData rlmDbData = new RlmDbDataSQLServer(data.RlmName); RlmNetworkWebAPI network = new RlmNetworkWebAPI(rlmDbData); if (network.LoadNetwork(data.NetworkName)) { RlmNetworkWebAPI cache; if (RLM_NETWORKS.TryGetValue(data.RlmName, out cache)) { cache = network; } else { RLM_NETWORKS.TryAdd(data.RlmName, cache = network); } cache.ResetExpiry(); } else { IEnumerable <RlmIO> inputs = data.Inputs.Select(a => new RlmIO(a.IOName, a.DotNetType, a.Min, a.Max, a.InputType)).ToList(); IEnumerable <RlmIO> outputs = data.Outputs.Select(a => new RlmIO(a.IOName, a.DotNetType, a.Min, a.Max)).ToList(); network.NewNetwork(data.NetworkName, inputs, outputs); RLM_NETWORKS.TryAdd(data.RlmName, network); } }
public IEnumerable <RlmIODetails>[] GetCaseIODetails(RlmGetCaseIODetailsParams data) { RlmNetworkWebAPI network = LoadNetworkFromCache(data); RlmSessionCaseHistory hist = network.SessionCaseHistory; return(hist.GetCaseIODetails(data.CaseId)); }
public IEnumerable <RlmLearnedSessionDetails> GetSessionIODetails(RlmGetSessionDetailsParams data) { RlmNetworkWebAPI network = LoadNetworkFromCache(data); RlmSessionCaseHistory hist = network.SessionCaseHistory; return(hist.GetSessionIODetails(data.SessionIds)); }
public long?GetSolutionIdFromOutputs(RlmGetSolutionIdFromOutputs data) { RlmNetworkWebAPI network = LoadNetworkFromCache(data); RlmSessionCaseHistory hist = network.SessionCaseHistory; return(hist.GetSolutionIdFromOutputs(data.OutputValuesPair)); }
public RlmCaseIOHistory GetCaseInputOutputDetails(RlmGetCaseIOParams data) { RlmNetworkWebAPI network = LoadNetworkFromCache(data); RlmSessionCaseHistory hist = network.SessionCaseHistory; return(hist.GetCaseIOHistory(data.CaseId, data.RneuronId, data.SolutionId)); }
public long?GetNextPrevLearnedCaseId(RlmGetNextPrevLearnedCaseIdParams data) { RlmNetworkWebAPI network = LoadNetworkFromCache(data); RlmSessionCaseHistory hist = network.SessionCaseHistory; return(hist.GetNextPreviousLearnedCaseId(data.CaseId.Value, data.IsNext)); }
public IEnumerable <RlmCaseHistory> GetSessionCases(RlmGetSessionCaseParams data) { RlmNetworkWebAPI network = LoadNetworkFromCache(data); RlmSessionCaseHistory hist = network.SessionCaseHistory; return(hist.GetSessionCaseHistory(data.SessionId, data.Skip, data.Take)); }
private IEnumerable <RlmSessionHistory> getSessionsWithSignificantLearning(RlmFilterResultParams data) { RlmNetworkWebAPI network = LoadNetworkFromCache(data); RlmSessionCaseHistory hist = network.SessionCaseHistory; return(hist.GetSignificantLearningEvents(data.Skip, data.Take)); }
private IEnumerable <RlmSessionHistory> getSessionHistory(RlmFilterResultParams data) { RlmNetworkWebAPI network = LoadNetworkFromCache(data); RlmSessionCaseHistory hist = network.SessionCaseHistory; return(hist.GetSessionHistory(data.Skip, data.Take)); }
public long StartSession(RlmParams data) { long retVal = 0; RlmNetworkWebAPI network = LoadNetworkFromCache(data); retVal = network.SessionStart(); return(retVal); }
public void SetRLMSettings(RlmSettingsParams data) { RlmNetworkWebAPI network = LoadNetworkFromCache(data); network.NumSessions = data.NumSessions; network.StartRandomness = data.StartRandomness; network.EndRandomness = data.EndRandomness; network.MaxLinearBracket = data.MaxLinearBracket; network.MinLinearBracket = data.MinLinearBracket; }
public CycleOutputParams RunCycle(RunCycleParams data) { var retVal = new CycleOutputParams(); RlmNetworkWebAPI network = LoadNetworkFromCache(data); var inputsCycle = new List <RlmIOWithValue>(); foreach (var ins in data.Inputs) { inputsCycle.Add(new RlmIOWithValue(network.Inputs.Where(item => item.Name == ins.IOName).First(), ins.Value)); } var Cycle = new RlmCycle(); RlmCyclecompleteArgs cycleOutput = null; // supervised training if (data.Outputs == null || (data.Outputs != null && data.Outputs.Count > 0)) { var outputsCycle = new List <RlmIOWithValue>(); foreach (var outs in data.Outputs) { outputsCycle.Add(new RlmIOWithValue(network.Outputs.First(a => a.Name == outs.IOName), outs.Value)); } cycleOutput = Cycle.RunCycle(network, network.CurrentSessionID, inputsCycle, data.Learn, outputsCycle); } else // unsupervised training { cycleOutput = Cycle.RunCycle(network, network.CurrentSessionID, inputsCycle, data.Learn); } if (cycleOutput != null) { retVal = new CycleOutputParams { RlmType = cycleOutput.RlmType, CycleId = cycleOutput.CycleOutput.CycleID }; var outputs = cycleOutput.CycleOutput.Outputs; for (int i = 0; i < outputs.Count(); i++) { RlmIOWithValue output = outputs.ElementAt(i); retVal.Outputs.Add(new RlmIOWithValuesParams() { IOName = output.Name, Value = output.Value }); } } return(retVal); }
private RlmNetworkWebAPI LoadNetworkFromCache(RlmParams data) { RlmNetworkWebAPI retVal = null; if (RLM_NETWORKS.TryGetValue(data.RlmName, out retVal)) { if (retVal.CurrentNetworkName != data.NetworkName) { throw new ArgumentException($"Network '{data.NetworkName}' not found or has not been loaded yet. Please check the network name or make sure to call the CreateOrLoad API method first."); } } else { throw new ArgumentException($"RLM '{data.RlmName}' not found or has not been loaded yet. Please check the network name or make sure to call the CreateOrLoad API method first."); } retVal.ResetExpiry(); return(retVal); }
public void EndSession(SessionEndParams data) { RlmNetworkWebAPI network = LoadNetworkFromCache(data); network.SessionEnd(data.SessionScore); }
public void ScoreCycle(ScoreCycleParams data) { RlmNetworkWebAPI network = LoadNetworkFromCache(data); network.ScoreCycle(data.CycleID, data.Score); }