Esempio n. 1
0
 /// <summary>
 /// Computes the readout unit.
 /// </summary>
 /// <param name="predictors">The predictors.</param>
 /// <returns>The readout unit's composite result.</returns>
 public CompositeResult Compute(double[] predictors)
 {
     if (!Ready)
     {
         throw new InvalidOperationException($"Readout unit {Name} is not ready to operate. Call the Build method first.");
     }
     double[] result = _clusterChain.Compute(predictors, out List <Tuple <int, double[]> > mainClusterSubResults);
     return(new CompositeResult(result, NonRecurrentNetUtils.ExtractVectors(mainClusterSubResults)));
 }
        /// <summary>
        /// Creates an initialized instance.
        /// </summary>
        /// <param name="elem">Xml element containing the initialization settings</param>
        public ClassificationNetworksSettings(XElement elem)
        {
            //Validation
            XElement settingsElem = Validate(elem, XsdTypeName);

            //Parsing
            NetworkCfgCollection = NonRecurrentNetUtils.LoadSettingsCollection(settingsElem);
            return;
        }
Esempio n. 3
0
        private double[] CreateInputVector(CompositeResult[] allReadoutUnitResults)
        {
            OneTakesAllClusterChainDecisionSettings clusterCfg = (OneTakesAllClusterChainDecisionSettings)_groupCfg.DecisionCfg;
            List <double[]> components = new List <double[]>();

            foreach (int unitIdx in MemberReadoutUnitIndexCollection)
            {
                if (clusterCfg.UseReadoutUnitsFinalResult)
                {
                    components.Add(allReadoutUnitResults[unitIdx].Result);
                }
                if (clusterCfg.UseReadoutUnitsSubResults)
                {
                    foreach (double[] subResult in allReadoutUnitResults[unitIdx].SubResults)
                    {
                        components.Add(subResult);
                    }
                }
            }
            return(NonRecurrentNetUtils.Flattenize(components));
        }