Ejemplo n.º 1
0
 //Constructor
 /// <summary>
 /// Creates an uninitialized instance
 /// </summary>
 /// <param name="taskType">Type of the task</param>
 /// <param name="settings">Readout layer configuration</param>
 /// <param name="rand">Random object to be used</param>
 public ReadoutLayer(CommonEnums.TaskType taskType,
                     ReadoutLayerSettings settings,
                     System.Random rand
                     )
 {
     _taskType          = taskType;
     _settings          = settings.DeepClone();
     _rand              = rand;
     _clusterCollection = new ReadoutUnit[_settings.OutputFieldNameCollection.Count][];
     _clusterErrStatisticsCollection = new List <ClusterErrStatistics>();
     return;
 }
Ejemplo n.º 2
0
 //Constructors
 /// <summary>
 /// Creates an initialized instance
 /// </summary>
 /// <param name="neuralPreprocessorCfg">Configuration of the neural preprocessor</param>
 /// <param name="readoutLayerCfg">Configuration of the readout layer</param>
 /// <param name="mapperCfg">Configuration of mapper of predictors to readout units</param>
 /// <param name="randomizerSeek">Specifies random number generator's initial seek</param>
 public StateMachineSettings(NeuralPreprocessorSettings neuralPreprocessorCfg,
                             ReadoutLayerSettings readoutLayerCfg,
                             MapperSettings mapperCfg = null,
                             int randomizerSeek       = DefaultRandomizerSeek)
 {
     NeuralPreprocessorCfg = neuralPreprocessorCfg == null ? null : (NeuralPreprocessorSettings)neuralPreprocessorCfg.DeepClone();
     ReadoutLayerCfg       = (ReadoutLayerSettings)readoutLayerCfg.DeepClone();
     MapperCfg             = mapperCfg == null ? null : (MapperSettings)mapperCfg.DeepClone();
     RandomizerSeek        = randomizerSeek;
     Check();
     return;
 }
Ejemplo n.º 3
0
 //Constructor
 /// <summary>
 /// Creates an uninitialized instance.
 /// </summary>
 /// <param name="readoutLayerConfig">The configuration of the readout layer.</param>
 public VerificationResults(ReadoutLayerSettings readoutLayerConfig)
 {
     ReadoutLayerConfig        = (ReadoutLayerSettings)readoutLayerConfig.DeepClone();
     ComputationResultBundle   = new ResultBundle();
     ReadoutUnitStatCollection = new List <ReadoutUnitErrorStat>(ReadoutLayerConfig.ReadoutUnitsCfg.ReadoutUnitCfgCollection.Count);
     for (int i = 0; i < ReadoutLayerConfig.ReadoutUnitsCfg.ReadoutUnitCfgCollection.Count; i++)
     {
         ReadoutUnitStatCollection.Add(new ReadoutUnitErrorStat(i, ReadoutLayerConfig.ReadoutUnitsCfg.ReadoutUnitCfgCollection[i]));
     }
     OneTakesAllGroupStatCollection = new List <OneTakesAllGroupErrorStat>();
     if (ReadoutLayerConfig.OneTakesAllGroupsCfg != null)
     {
         foreach (OneTakesAllGroupSettings groupCfg in ReadoutLayerConfig.OneTakesAllGroupsCfg.OneTakesAllGroupCfgCollection)
         {
             int[] unitIndexes = ReadoutLayerConfig.GetOneTakesAllGroupMemberRUnitIndexes(groupCfg.Name).ToArray();
             OneTakesAllGroupStatCollection.Add(new OneTakesAllGroupErrorStat(groupCfg.Name, unitIndexes, ReadoutLayerConfig.ReadoutUnitsCfg.ReadoutUnitCfgCollection));
         }
     }
     return;
 }
Ejemplo n.º 4
0
 //Constructor
 /// <summary>
 /// Creates initialized instance
 /// </summary>
 /// <param name="readoutLayerConfig">Configuration of the Readout Layer</param>
 public VerificationResults(ReadoutLayerSettings readoutLayerConfig)
 {
     ReadoutLayerConfig        = (ReadoutLayerSettings)readoutLayerConfig.DeepClone();
     ComputationResultBundle   = new ResultBundle();
     ReadoutUnitStatCollection = new List <ReadoutUnitStat>(ReadoutLayerConfig.ReadoutUnitsCfg.ReadoutUnitCfgCollection.Count);
     for (int i = 0; i < ReadoutLayerConfig.ReadoutUnitsCfg.ReadoutUnitCfgCollection.Count; i++)
     {
         ReadoutUnitStatCollection.Add(new ReadoutUnitStat(i, ReadoutLayerConfig.ReadoutUnitsCfg.ReadoutUnitCfgCollection[i]));
     }
     OneWinnerGroupStatCollection = new List <OneWinnerGroupStat>(ReadoutLayerConfig.ReadoutUnitsCfg.OneWinnerGroupCollection.Keys.Count);
     foreach (string groupName in ReadoutLayerConfig.ReadoutUnitsCfg.OneWinnerGroupCollection.Keys)
     {
         ReadoutUnitsSettings.OneWinnerGroup owg = ReadoutLayerConfig.ReadoutUnitsCfg.OneWinnerGroupCollection[groupName];
         int[] unitIndexes = new int[owg.Members.Count];
         for (int i = 0; i < owg.Members.Count; i++)
         {
             unitIndexes[i] = ReadoutLayerConfig.ReadoutUnitsCfg.GetReadoutUnitID(owg.Members[i].Name);
         }
         OneWinnerGroupStatCollection.Add(new OneWinnerGroupStat(groupName, unitIndexes, ReadoutLayerConfig.ReadoutUnitsCfg.OneWinnerGroupCollection[groupName].Members));
     }
     return;
 }