//create new network public async void SaveNetwork(Rnetwork rnetwork, Input_Output_Type io_type, List <Input> inputs, List <Output> outputs) { using (RlmDbEntities db = new RlmDbEntities(databaseName)) { try { //ready network for saving Rnetwork _newNetwork = db.Rnetworks.Add(rnetwork); //add inputs to io_type foreach (Input input in inputs) { io_type.Inputs.Add(input); } //add outputs to io_type foreach (Output output in outputs) { io_type.Outputs.Add(output); } //ready io_type for saving Input_Output_Type _ioType = db.Input_Output_Types.Add(io_type); //save to database await db.SaveChangesAsync(); } catch (Exception ex) { RlmDbLogger.Error(ex, databaseName, "SaveNetwork"); } } }
//Process new inputs/outputs during create new network private object ProcessNewIO(Rnetwork net, RlmIO io, Boolean ProcessAsOutput = false) { object retVal = null; Input_Output_Type iot; //Create Type iot = new Input_Output_Type() { ID = Util.GenerateHashKey(io.DotNetType), Name = io.DotNetType, DotNetTypeName = io.DotNetType }; if (consoleDisplay) { Console.WriteLine("Creating new Input_Output_Type: " + io.DotNetType); } if (!ProcessAsOutput) { //ToDo: Check for unique names //Create Input Input newio = new Input() { ID = Util.GenerateHashKey(io.Name), Name = io.Name, Rnetwork_ID = net.ID, Input_Output_Type_ID = iot.ID, Input_Output_Type = iot, Min = io.Min, Max = io.Max, Type = io.Type }; io.ID = newio.ID; retVal = newio; if (consoleDisplay) { Console.WriteLine("Create new Input: " + newio.Name); } } else { //ToDo: Check for unique names //Create Output Output newio = new Output() { ID = Util.GenerateHashKey(io.Name), Name = io.Name, Rnetwork_ID = net.ID, Input_Output_Type_ID = iot.ID, Input_Output_Type = iot, Min = io.Min, Max = io.Max }; io.ID = newio.ID; retVal = newio; if (consoleDisplay) { Console.WriteLine("Create new Output: " + newio.Name); } } return(retVal); }
public void SaveNetwork(Rnetwork rnetwork, List <Input_Output_Type> io_types, List <Input> inputs, List <Output> outputs, IRlmNetwork rnn_net) { using (RlmDbEntities db = new RlmDbEntities(databaseName)) { try { //ready network for saving Rnetwork _newNetwork = db.Rnetworks.Add(rnetwork); foreach (var _in in inputs) { Input_Output_Type _iotype = io_types.FirstOrDefault(a => a.DotNetTypeName == _in.Input_Output_Type.DotNetTypeName); _in.Input_Output_Type = _iotype; db.Inputs.Add(_in); } foreach (var _out in outputs) { Input_Output_Type _iotype = io_types.FirstOrDefault(a => a.DotNetTypeName == _out.Input_Output_Type.DotNetTypeName); _out.Input_Output_Type = _iotype; db.Outputs.Add(_out); } //save to database db.SaveChanges(); rlm = _newNetwork; networkID = _newNetwork.ID; networkLoaded = true; rnn_net.MemoryManager.InitStorage(inputs, outputs); } catch (Exception ex) { networkLoaded = false; RlmDbLogger.Error(ex, databaseName, "SaveNetwork"); } } }
/// <summary> /// Save created network /// </summary> /// <param name="rnetwork">current rnetwork</param> /// <param name="io_type">type of input and output</param> /// <param name="inputs">List of inputs</param> /// <param name="outputs">List of outputs</param> public void NewNetwork(Rnetwork rnetwork, Input_Output_Type io_type, List <Input> inputs, List <Output> outputs) { //todo: rnn dbmanager and save rlmDb.SaveNetwork(rnetwork, io_type, inputs, outputs); double r = 1.0; double s = 1.0; foreach (var input in inputs) { r *= input.Max; } rneuronsBoundedCapacity = Convert.ToInt32(r); foreach (var output in outputs) { s *= output.Max; } solutionsBoundedCapacity = Convert.ToInt32(s); }
/// <summary> /// Save created network /// </summary> /// <param name="rnetwork">current rnetwork</param> /// <param name="io_type">type of input and output</param> /// <param name="inputs">List of inputs</param> /// <param name="outputs">List of outputs</param> public void NewNetwork(Rnetwork rnetwork, Input_Output_Type io_type, List <Input> inputs, List <Output> outputs) { //todo: rnn dbmanager and save rlmDb.SaveNetwork(rnetwork, io_type, inputs, outputs); double r = 1.0; double s = 1.0; foreach (var input in inputs) { r *= input.Max; } rneuronsBoundedCapacity = Convert.ToInt32(r); foreach (var output in outputs) { s *= output.Max; } solutionsBoundedCapacity = Convert.ToInt32(s); //Rneurons = new ConcurrentDictionary<long, Rneuron>(iConcurrencyLevel, rneuronsBoundedCapacity); //Solutions = new ConcurrentDictionary<long, Solution>(iConcurrencyLevel, solutionsBoundedCapacity); }