예제 #1
0
파일: ReadoutUnit.cs 프로젝트: okozelsk/NET
 //Constructors
 /// <summary>
 /// Creates an itialized instance.
 /// </summary>
 /// <param name="index">An index of this readout unit within the readout layer.</param>
 /// <param name="readoutUnitCfg">The configuration of the readout unit.</param>
 /// <param name="taskDefaultsCfg">The tasks defaults configuration.</param>
 public ReadoutUnit(int index,
                    ReadoutUnitSettings readoutUnitCfg,
                    TaskDefaultsSettings taskDefaultsCfg
                    )
 {
     Index = index;
     Name  = readoutUnitCfg.Name;
     Task  = readoutUnitCfg.TaskCfg.Type;
     if (readoutUnitCfg.TaskCfg.GetType() == typeof(ForecastTaskSettings))
     {
         _clusterChainCfg = (ITNRNetClusterChainSettings)((ForecastTaskSettings)readoutUnitCfg.TaskCfg).ClusterChainCfg?.DeepClone();
         if (_clusterChainCfg == null)
         {
             _clusterChainCfg = taskDefaultsCfg.ForecastClusterChainCfg;
         }
     }
     else
     {
         _clusterChainCfg = (ITNRNetClusterChainSettings)((ClassificationTaskSettings)readoutUnitCfg.TaskCfg).ClusterChainCfg?.DeepClone();
         {
             if (_clusterChainCfg == null)
             {
                 _clusterChainCfg = taskDefaultsCfg.ClassificationClusterChainCfg;
             }
         }
     }
     _clusterChain = null;
     return;
 }
예제 #2
0
 //Constructor
 /// <summary>
 /// Creates an initialized instance.
 /// </summary>
 /// <param name="chainName">The name of the cluster chain.</param>
 /// <param name="clusterChainCfg">The configuration of the cluster chain.</param>
 /// <param name="rand">The random generator to be used (optional).</param>
 /// <param name="controller">The network build process controller (optional).</param>
 public TNRNetClusterChainBuilder(string chainName,
                                  ITNRNetClusterChainSettings clusterChainCfg,
                                  Random rand = null,
                                  TNRNetBuilder.BuildControllerDelegate controller = null
                                  )
 {
     _chainName       = chainName;
     _clusterChainCfg = clusterChainCfg;
     _rand            = rand ?? new Random(0);
     _controller      = controller;
     ResetProgressTracking();
     return;
 }