/// <summary> /// Creates the instance and initialize it from given xml element. /// </summary> /// <param name="elem"> /// Xml data containing settings. /// Content of xml element is always validated against the xml schema. /// </param> public NeuronGroupSettings(XElement elem) { //Validation ElemValidator validator = new ElemValidator(); Assembly assemblyRCNet = Assembly.GetExecutingAssembly(); validator.AddXsdFromResources(assemblyRCNet, "RCNet.Neural.Network.SM.Preprocessing.PoolNeuronGroupSettings.xsd"); validator.AddXsdFromResources(assemblyRCNet, "RCNet.RCNetTypes.xsd"); XElement settingsElem = validator.Validate(elem, "rootElem"); //Parsing //Name Name = settingsElem.Attribute("name").Value; //Role Role = CommonEnums.ParseNeuronRole(settingsElem.Attribute("role").Value); //Relative share RelativeShare = double.Parse(settingsElem.Attribute("relShare").Value, CultureInfo.InvariantCulture); //Augmented states AugmentedStates = bool.Parse(settingsElem.Attribute("augmentedStates").Value); //Activation settings ActivationCfg = ActivationFactory.LoadSettings(settingsElem.Descendants().First()); //Bias BiasCfg = new RandomValueSettings(settingsElem.Descendants("bias").First()); return; }
/// <summary> /// Creates an instance and initializes it from given xml element. /// </summary> /// <param name="elem"> /// Xml data containing IzhikevichIF activation settings. /// Content of xml element is always validated against the xml schema. /// </param> public AutoIzhikevichIFSettings(XElement elem) { //Validation ElemValidator validator = new ElemValidator(); Assembly assemblyRCNet = Assembly.GetExecutingAssembly(); validator.AddXsdFromResources(assemblyRCNet, "RCNet.Neural.Activation.AutoIzhikevichIFSettings.xsd"); validator.AddXsdFromResources(assemblyRCNet, "RCNet.RCNetTypes.xsd"); XElement activationSettingsElem = validator.Validate(elem, "rootElem"); //Parsing StimuliCoeff = double.Parse(activationSettingsElem.Attribute("stimuliCoeff").Value, CultureInfo.InvariantCulture); Role = CommonEnums.ParseNeuronRole(activationSettingsElem.Attribute("role").Value); RefractoryPeriods = int.Parse(activationSettingsElem.Attribute("refractoryPeriods").Value, CultureInfo.InvariantCulture); SolverMethod = ODENumSolver.ParseComputationMethodType(activationSettingsElem.Attribute("solverMethod").Value); SolverCompSteps = int.Parse(activationSettingsElem.Attribute("solverCompSteps").Value, CultureInfo.InvariantCulture); return; }