public LearningDNN(int inHeight, int inPlane, int outHeight, int outPlane, int middle = 64)
 {
     _FrameIn = new LearningFrame() { Height = inHeight, Width = inHeight, Plane = inPlane };
     _FrameOut = new LearningFrame(){ Height = outHeight, Width = outHeight, Plane = outPlane };
     _MiddleCount = middle;
 }
 public LearningIPCA_Slicing(int start, int end, int block = 8)
 {
     _FrameIn = new LearningFrame(block, block, start);
     _FrameOut = new LearningFrame(1, 1, end);
 }
 public LearningImage(int height, int width, int plane = 3, double[] data = null)
 {
     _Frame = new LearningFrame() { Height = height, Width = width, Plane = plane };
     Data = new double[Length];
     if (data != null) Array.Copy(data, Data, Math.Min(data.Length, Length));
 }
 public LearningPool(int step = 2)
 {
     _Frame = new LearningFrame() { Height = step, Width = step };
 }
 public LearningImage(LearningFrame f, double[] data = null)
 {
     _Frame = f;
     Data = new double[Length];
     if (data != null) Array.Copy(data, Data, Math.Min(data.Length, Length));
 }