/// <summary> /// Creates an initialized instance. /// </summary> /// <param name="elem">A xml element containing the configuration data.</param> public ExternalFieldSettings(XElement elem) { //Validation XElement settingsElem = Validate(elem, XsdTypeName); //Parsing Name = settingsElem.Attribute("name").Value; RouteToReadout = bool.Parse(settingsElem.Attribute("routeToReadout").Value); FeatureFilterCfg = FeatureFilterFactory.LoadSettings(settingsElem.Elements().First()); Check(); return; }
/// <summary> /// Creates an initialized instance. /// </summary> /// <param name="elem">Xml data containing the settings.</param> public ExternalFieldSettings(XElement elem) { //Validation XElement settingsElem = Validate(elem, XsdTypeName); //Parsing Name = settingsElem.Attribute("name").Value; RouteToReadout = bool.Parse(settingsElem.Attribute("routeToReadout").Value); FeatureFilterCfg = FeatureFilterFactory.LoadSettings(settingsElem.Elements().First()); XElement spikingCodingElem = settingsElem.Elements("spikeCode").FirstOrDefault(); SpikeCodeCfg = spikingCodingElem == null ? null : new SpikeCodeSettings(spikingCodingElem); Check(); return; }
/// <summary> /// Creates the instance and initializes it from given xml element. /// </summary> /// <param name="readoutUnitElem"> /// Xml data containing the settings. /// </param> public ReadoutUnitSettings(XElement readoutUnitElem) { //Name Name = readoutUnitElem.Attribute("name").Value; //Task and filter XElement taskElem = readoutUnitElem.Descendants().First(); if (taskElem.Name.LocalName == "forecast") { TaskType = ReadoutUnit.TaskType.Forecast; } else { TaskType = ReadoutUnit.TaskType.Classification; } FeatureFilterCfg = FeatureFilterFactory.LoadSettings(taskElem.Descendants().First()); //Net settings List <XElement> netSettingsElems = new List <XElement>(); netSettingsElems.AddRange(readoutUnitElem.Descendants("ff")); netSettingsElems.AddRange(readoutUnitElem.Descendants("pp")); if (netSettingsElems.Count != 1) { throw new Exception("Only one network configuration can be specified in readout unit settings."); } if (netSettingsElems.Count == 0) { throw new Exception("Network configuration is not specified in readout unit settings."); } XElement netSettingsElem = netSettingsElems[0]; //FF? if (netSettingsElem.Name.LocalName == "ff") { NetType = ReadoutUnitNetworkType.FF; NetSettings = new FeedForwardNetworkSettings(netSettingsElem); OutputRange = ((FeedForwardNetworkSettings)NetSettings).OutputRange.DeepClone(); } else { //PP NetType = ReadoutUnitNetworkType.PP; NetSettings = new ParallelPerceptronSettings(netSettingsElem); OutputRange = ((ParallelPerceptronSettings)NetSettings).OutputRange.DeepClone(); } return; }
//Constructors /// <summary> /// Creates an initialized instance /// </summary> /// <param name="name">Field name</param> /// <param name="allowRoutingToReadout">Specifies whether the field can be included among predictors</param> /// <param name="settingsElem">Xml element containing associated feature filter settings</param> public ExternalField(string name, bool allowRoutingToReadout, XElement settingsElem) : base(name, allowRoutingToReadout) { FeatureFilterCfg = FeatureFilterFactory.LoadSettings(settingsElem); return; }