/// <summary> /// Creates an instance and initializes it from given xml element. /// </summary> /// <param name="elem"> /// Xml data containing AdExpIF activation settings. /// Content of xml element is always validated against the xml schema. /// </param> public AdExpIFSettings(XElement elem) { //Validation ElemValidator validator = new ElemValidator(); Assembly assemblyRCNet = Assembly.GetExecutingAssembly(); validator.AddXsdFromResources(assemblyRCNet, "RCNet.Neural.Activation.AdExpIFSettings.xsd"); validator.AddXsdFromResources(assemblyRCNet, "RCNet.RCNetTypes.xsd"); XElement activationSettingsElem = validator.Validate(elem, "rootElem"); //Parsing TimeScale = RandomValueSettings.LoadOrDefault(activationSettingsElem, "timeScale", TypicalTimeScale); Resistance = RandomValueSettings.LoadOrDefault(activationSettingsElem, "resistance", TypicalResistance); RestV = RandomValueSettings.LoadOrDefault(activationSettingsElem, "restV", TypicalRestV); ResetV = RandomValueSettings.LoadOrDefault(activationSettingsElem, "resetV", TypicalResetV); RheobaseV = RandomValueSettings.LoadOrDefault(activationSettingsElem, "rheobaseV", TypicalRheobaseV); FiringThresholdV = RandomValueSettings.LoadOrDefault(activationSettingsElem, "firingThresholdV", TypicalFiringThresholdV); SharpnessDeltaT = RandomValueSettings.LoadOrDefault(activationSettingsElem, "sharpnessDeltaT", TypicalSharpnessDeltaT); AdaptationVoltageCoupling = RandomValueSettings.LoadOrDefault(activationSettingsElem, "adaptationVoltageCoupling", TypicalAdaptationVoltageCoupling); AdaptationTimeConstant = RandomValueSettings.LoadOrDefault(activationSettingsElem, "adaptationTimeConstant", TypicalAdaptationTimeConstant); AdaptationSpikeTriggeredIncrement = RandomValueSettings.LoadOrDefault(activationSettingsElem, "adaptationSpikeTriggeredIncrement", TypicalAdaptationSpikeTriggeredIncrement); SolverMethod = ODENumSolver.ParseComputationMethodType(activationSettingsElem.Attribute("solverMethod").Value); SolverCompSteps = int.Parse(activationSettingsElem.Attribute("solverCompSteps").Value, CultureInfo.InvariantCulture); return; }
/// <summary> /// Creates an instance and initializes it from given xml element. /// </summary> /// <param name="elem"> /// Xml data containing LeakyReLU activation settings. /// Content of xml element is always validated against the xml schema. /// </param> public LeakyReLUSettings(XElement elem) { //Validation ElemValidator validator = new ElemValidator(); Assembly assemblyRCNet = Assembly.GetExecutingAssembly(); validator.AddXsdFromResources(assemblyRCNet, "RCNet.Neural.Activation.LeakyReLUSettings.xsd"); validator.AddXsdFromResources(assemblyRCNet, "RCNet.RCNetTypes.xsd"); XElement activationSettingsElem = validator.Validate(elem, "rootElem"); //Parsing NegSlope = RandomValueSettings.LoadOrDefault(activationSettingsElem, "negSlope", TypicalNegSlope); return; }
/// <summary> /// Creates an instance and initializes it from given xml element. /// </summary> /// <param name="elem"> /// Xml data containing SoftExponential activation settings. /// Content of xml element is always validated against the xml schema. /// </param> public SoftExponentialSettings(XElement elem) { //Validation ElemValidator validator = new ElemValidator(); Assembly assemblyRCNet = Assembly.GetExecutingAssembly(); validator.AddXsdFromResources(assemblyRCNet, "RCNet.Neural.Activation.SoftExponentialSettings.xsd"); validator.AddXsdFromResources(assemblyRCNet, "RCNet.RCNetTypes.xsd"); XElement activationSettingsElem = validator.Validate(elem, "rootElem"); //Parsing Alpha = RandomValueSettings.LoadOrDefault(activationSettingsElem, "alpha", TypicalAlpha); return; }
/// <summary> /// Creates an instance and initializes it from given xml element. /// </summary> /// <param name="elem">Xml element containing the initialization settings</param> public LeakyIFSettings(XElement elem) { //Validation XElement activationSettingsElem = Validate(elem, XsdTypeName); //Parsing TimeScale = URandomValueSettings.LoadOrDefault(activationSettingsElem, "timeScale", TypicalTimeScale); Resistance = URandomValueSettings.LoadOrDefault(activationSettingsElem, "resistance", TypicalResistance); RestV = RandomValueSettings.LoadOrDefault(activationSettingsElem, "restV", TypicalRestV); ResetV = RandomValueSettings.LoadOrDefault(activationSettingsElem, "resetV", TypicalResetV); FiringThresholdV = RandomValueSettings.LoadOrDefault(activationSettingsElem, "firingThresholdV", TypicalFiringThresholdV); RefractoryPeriods = int.Parse(activationSettingsElem.Attribute("refractoryPeriods").Value, CultureInfo.InvariantCulture); SolverMethod = (ODENumSolver.Method)Enum.Parse(typeof(ODENumSolver.Method), activationSettingsElem.Attribute("solverMethod").Value, true); SolverCompSteps = int.Parse(activationSettingsElem.Attribute("solverCompSteps").Value, CultureInfo.InvariantCulture); StimuliDuration = double.Parse(activationSettingsElem.Attribute("stimuliDuration").Value, CultureInfo.InvariantCulture); Check(); return; }
/// <summary> /// Creates an instance and initializes it from given xml element. /// </summary> /// <param name="elem"> /// Xml data containing SimpleIF activation settings. /// Content of xml element is always validated against the xml schema. /// </param> public SimpleIFSettings(XElement elem) { //Validation ElemValidator validator = new ElemValidator(); Assembly assemblyRCNet = Assembly.GetExecutingAssembly(); validator.AddXsdFromResources(assemblyRCNet, "RCNet.Neural.Activation.SimpleIFSettings.xsd"); validator.AddXsdFromResources(assemblyRCNet, "RCNet.RCNetTypes.xsd"); XElement activationSettingsElem = validator.Validate(elem, "rootElem"); //Parsing Resistance = RandomValueSettings.LoadOrDefault(activationSettingsElem, "resistance", TypicalResistance); DecayRate = RandomValueSettings.LoadOrDefault(activationSettingsElem, "decayRate", TypicalDecayRate); ResetV = RandomValueSettings.LoadOrDefault(activationSettingsElem, "resetV", TypicalResetV); FiringThresholdV = RandomValueSettings.LoadOrDefault(activationSettingsElem, "firingThresholdV", TypicalFiringThresholdV); RefractoryPeriods = int.Parse(activationSettingsElem.Attribute("refractoryPeriods").Value, CultureInfo.InvariantCulture); return; }
/// <summary> /// Creates an instance and initializes it from given xml element. /// </summary> /// <param name="elem"> /// Xml data containing LeakyIF activation settings. /// Content of xml element is always validated against the xml schema. /// </param> public LeakyIFSettings(XElement elem) { //Validation ElemValidator validator = new ElemValidator(); Assembly assemblyRCNet = Assembly.GetExecutingAssembly(); validator.AddXsdFromResources(assemblyRCNet, "RCNet.Neural.Activation.LeakyIFSettings.xsd"); validator.AddXsdFromResources(assemblyRCNet, "RCNet.RCNetTypes.xsd"); XElement activationSettingsElem = validator.Validate(elem, "rootElem"); //Parsing TimeScale = RandomValueSettings.LoadOrDefault(activationSettingsElem, "timeScale", TypicalTimeScale); Resistance = RandomValueSettings.LoadOrDefault(activationSettingsElem, "resistance", TypicalResistance); RestV = RandomValueSettings.LoadOrDefault(activationSettingsElem, "restV", TypicalRestV); ResetV = RandomValueSettings.LoadOrDefault(activationSettingsElem, "resetV", TypicalResetV); FiringThresholdV = RandomValueSettings.LoadOrDefault(activationSettingsElem, "firingThresholdV", TypicalFiringThresholdV); 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; }
/// <summary> /// Creates an instance and initializes it from given xml element. /// </summary> /// <param name="elem">Xml element containing the initialization settings</param> public AdExpIFSettings(XElement elem) { //Validation XElement activationSettingsElem = Validate(elem, XsdTypeName); //Parsing TimeScale = URandomValueSettings.LoadOrDefault(activationSettingsElem, "timeScale", TypicalTimeScale); Resistance = URandomValueSettings.LoadOrDefault(activationSettingsElem, "resistance", TypicalResistance); RestV = RandomValueSettings.LoadOrDefault(activationSettingsElem, "restV", TypicalRestV); ResetV = RandomValueSettings.LoadOrDefault(activationSettingsElem, "resetV", TypicalResetV); RheobaseV = RandomValueSettings.LoadOrDefault(activationSettingsElem, "rheobaseV", TypicalRheobaseV); FiringThresholdV = RandomValueSettings.LoadOrDefault(activationSettingsElem, "firingThresholdV", TypicalFiringThresholdV); SharpnessDeltaT = URandomValueSettings.LoadOrDefault(activationSettingsElem, "sharpnessDeltaT", TypicalSharpnessDeltaT); AdaptationVoltageCoupling = URandomValueSettings.LoadOrDefault(activationSettingsElem, "adaptationVoltageCoupling", TypicalAdaptationVoltageCoupling); AdaptationTimeConstant = URandomValueSettings.LoadOrDefault(activationSettingsElem, "adaptationTimeConstant", TypicalAdaptationTimeConstant); AdaptationSpikeTriggeredIncrement = URandomValueSettings.LoadOrDefault(activationSettingsElem, "adaptationSpikeTriggeredIncrement", TypicalAdaptationSpikeTriggeredIncrement); SolverMethod = (ODENumSolver.Method)Enum.Parse(typeof(ODENumSolver.Method), activationSettingsElem.Attribute("solverMethod").Value, true); SolverCompSteps = int.Parse(activationSettingsElem.Attribute("solverCompSteps").Value, CultureInfo.InvariantCulture); StimuliDuration = double.Parse(activationSettingsElem.Attribute("stimuliDuration").Value, CultureInfo.InvariantCulture); Check(); return; }