public override void Initialize()
 {
     Log.Instance.Info("PCNN is active");
     _Units = new List<LearningUnit>();
     _Units.Add(new LearningIPCA_Slicing(3, 32));	// 64,64,3
     _Units.Add(new LearningPool(4));				// 64,64,32
     _Units.Add(new LearningNormalize());			// 16,16,32
     _Units.Add(new LearningIPCA_Slicing(32, 64));	// 16,16,32
     _Units.Add(new LearningPool(4));				// 16,16,64
     _Units.Add(new LearningNormalize());			// 4,4,64
     var dnn = new LearningDNN(4, 64, 4, 1, 64);
     dnn.DropoutRate = 0.5;
     dnn.DropoutPadding = 15;
     _Units.Add(dnn);		// 4,4,64 > 4,4,1
 }
 public override void Initialize()
 {
     Log.Instance.Info("PCNN-L4 is active");
     _Units = new List<LearningUnit>();
     _Units.Add(new LearningIPCA_Slicing(3, 32, 8));		// 64x,3
     _Units.Add(new LearningPool(4));					// 64x,32
     _Units.Add(new LearningNormalize());				// 16x,32
     _Units.Add(new LearningIPCA_Slicing(32, 64, 8));	// 16x,32
     _Units.Add(new LearningPool(2));					// 16x,64
     _Units.Add(new LearningNormalize());				// 8x,64
     _Units.Add(new LearningIPCA_Slicing(64, 128, 4));	// 8x,64
     _Units.Add(new LearningNormalize());				// 8x,128
     _Units.Add(new LearningIPCA_Slicing(128, 192, 4));	// 8x,128
     _Units.Add(new LearningPool(2));					// 8x,192
     _Units.Add(new LearningNormalize());				// 4x,192
     var dnn = new LearningDNN(4, 192, 4, 1, 192);		// 4x,192 > 4,4,1
     dnn.DropoutRate = 0.5;
     dnn.DropoutPadding = 15;
     _Units.Add(dnn);
 }
 public override void Initialize()
 {
     Log.Instance.Info("PCNN-L3-D48 is active");
     _Units = new List<LearningUnit>();
     _Units.Add(new LearningIPCA_Slicing(3, 48, 8));		// 64x,3
     _Units.Add(new LearningPool(4));					// 64x,48
     _Units.Add(new LearningNormalize());				// 16x,48
     _Units.Add(new LearningIPCA_Slicing(48, 96, 8));	// 16x,48
     _Units.Add(new LearningPool(2));					// 16x,96
     _Units.Add(new LearningNormalize());				// 8x,96
     _Units.Add(new LearningIPCA_Slicing(96, 144, 4));	// 8x,96
     _Units.Add(new LearningPool(2));					// 8x,144
     _Units.Add(new LearningNormalize());				// 4,4,144
     var dnn = new LearningDNN(4, 144, 4, 1, 144);		// 4,4,144 > 4,4,1
     dnn.DropoutRate = 0.5;
     dnn.DropoutPadding = 15;
     _Units.Add(dnn);
 }