Example #1
0
        /// <summary>
        /// Creates an initialized instance.
        /// </summary>
        /// <param name="elem">Xml element containing the initialization settings</param>
        public ForecastTaskSettings(XElement elem)
        {
            //Validation
            XElement settingsElem = Validate(elem, XsdTypeName);
            //Parsing
            //Filter
            XElement filterSettingsElem = settingsElem.Elements().First();

            switch (filterSettingsElem.Name.LocalName)
            {
            case "binFeature":
                FeatureFilterCfg = new BinFeatureFilterSettings(filterSettingsElem);
                break;

            case "enumFeature":
                FeatureFilterCfg = new EnumFeatureFilterSettings(filterSettingsElem);
                break;

            case "realFeature":
                FeatureFilterCfg = new RealFeatureFilterSettings(filterSettingsElem);
                break;

            default:
                throw new InvalidOperationException($"Feature filter element not found.");
            }
            //Networks
            XElement forecastNetworksSettingsElem = settingsElem.Elements("networks").FirstOrDefault();

            NetworksCfg = forecastNetworksSettingsElem == null ? new ForecastNetworksSettings() : new ForecastNetworksSettings(forecastNetworksSettingsElem);
            return;
        }
Example #2
0
 //Constructors
 /// <summary>
 /// Creates an initialized instance.
 /// </summary>
 /// <param name="name">The name of the generated field.</param>
 /// <param name="generatorCfg">The configuration of an associated generator.</param>
 /// <param name="routeToReadout">Specifies whether to route the generated field to the readout layer.</param>
 /// <param name="featureFilterCfg">The configuration of the real feature filter.</param>
 public GeneratedFieldSettings(string name,
                               RCNetBaseSettings generatorCfg,
                               bool routeToReadout = DefaultRouteToReadout,
                               RealFeatureFilterSettings featureFilterCfg = null
                               )
 {
     Name             = name;
     GeneratorCfg     = generatorCfg.DeepClone();
     RouteToReadout   = routeToReadout;
     FeatureFilterCfg = featureFilterCfg == null ? null : (RealFeatureFilterSettings)featureFilterCfg.DeepClone();
     Check();
     return;
 }
Example #3
0
 //Constructors
 /// <summary>
 /// Creates an initialized instance
 /// </summary>
 /// <param name="name">Transformed field name</param>
 /// <param name="transformerCfg">Configuration of associated transformer</param>
 /// <param name="routeToReadout">Specifies whether to route transformed field to readout layer together with other predictors</param>
 /// <param name="featureFilterCfg">Configuration of real feature filter</param>
 /// <param name="spikingCodingCfg">Configuration of spiking coding neurons</param>
 public TransformedFieldSettings(string name,
                                 RCNetBaseSettings transformerCfg,
                                 bool routeToReadout = DefaultRouteToReadout,
                                 RealFeatureFilterSettings featureFilterCfg = null,
                                 SpikeCodeSettings spikingCodingCfg         = null
                                 )
 {
     Name             = name;
     TransformerCfg   = transformerCfg.DeepClone();
     RouteToReadout   = routeToReadout;
     FeatureFilterCfg = featureFilterCfg == null ? null : (RealFeatureFilterSettings)featureFilterCfg.DeepClone();
     SpikingCodingCfg = spikingCodingCfg == null ? null : (SpikeCodeSettings)spikingCodingCfg.DeepClone();
     Check();
     return;
 }
Example #4
0
        /// <summary>
        /// Creates an initialized instance.
        /// </summary>
        /// <param name="elem">A xml element containing the configuration data.</param>
        public GeneratedFieldSettings(XElement elem)
        {
            //Validation
            XElement settingsElem = Validate(elem, XsdTypeName);

            //Parsing
            Name           = settingsElem.Attribute("name").Value;
            RouteToReadout = bool.Parse(settingsElem.Attribute("routeToReadout").Value);
            XElement genElem = settingsElem.Elements().First();

            GeneratorCfg = GeneratorFactory.LoadSettings(genElem);
            XElement realFeatureFilterElem = settingsElem.Elements("realFeatureFilter").FirstOrDefault();

            FeatureFilterCfg = realFeatureFilterElem == null ? new RealFeatureFilterSettings() : new RealFeatureFilterSettings(realFeatureFilterElem);
            Check();
            return;
        }
Example #5
0
        //Methods
        /// <summary>
        /// Creates input part of the neural preprocessor's configuration.
        /// </summary>
        private InputEncoderSettings CreateInputCfg()
        {
            //Definition of input external fields
            //In this example we will use three of available input fields: "High" price, "Low" price and "Adj Close" price.
            //We want to route input fields to readout layer together with other predictors
            const bool RouteToReadout = true;
            //All 3 input fields are real numbers and thus they should be standardly normalized and standardized.
            RealFeatureFilterSettings realFeatureFilterCfg = new RealFeatureFilterSettings(true, true);
            //Input fields collection
            ExternalFieldSettings  extFieldHighCfg     = new ExternalFieldSettings("High", realFeatureFilterCfg, RouteToReadout);
            ExternalFieldSettings  extFieldLowCfg      = new ExternalFieldSettings("Low", realFeatureFilterCfg, RouteToReadout);
            ExternalFieldSettings  extFieldAdjCloseCfg = new ExternalFieldSettings("Adj Close", realFeatureFilterCfg, RouteToReadout);
            ExternalFieldsSettings externalFieldsCfg   = new ExternalFieldsSettings(extFieldHighCfg, extFieldLowCfg, extFieldAdjCloseCfg);
            //Definition of the continuous input feeding
            //We use FeedingContinuousSettings.AutoBootCyclesNum so necessary number of boot cycles will be automatically determined
            //based on neural preprocessor structure
            FeedingContinuousSettings feedingContinuousCfg = new FeedingContinuousSettings(FeedingContinuousSettings.AutoBootCyclesNum);

            //Create and return input configuration
            return(new InputEncoderSettings(feedingContinuousCfg, new VaryingFieldsSettings(externalFieldsCfg, null, null, RouteToReadout)));
        }