public Neural_Network Copy()
        {
            Neural_Network_Copy_Reference reference = new Neural_Network_Copy_Reference(Structure.Length - 1);

            input.InputCopyData(reference, 0);
            return(new Neural_Network(reference, Structure));
        }
Example #2
0
 public void InputCopyData(Neural_Network_Copy_Reference reference, int depth)
 {
     reference.biases[depth]  = biases;
     reference.weights[depth] = weights;
     if (child != null)
     {
         child.InputCopyData(reference, depth + 1);
     }
 }
Example #3
0
 public Layer(Neural_Network_Copy_Reference reference, int depth)
 {
     biases     = (double[])Neural_Network.DeepClone(reference.biases[depth]);
     weights    = (double[, ])Neural_Network.DeepClone(reference.weights[depth]);
     this.depth = ++depth;
     if (depth < reference.biases.GetLength(0))
     {
         child = new Layer(reference, depth);
     }
 }
 public Neural_Network(Neural_Network_Copy_Reference reference, int[] structure)
 {
     Structure = (int[])DeepClone(structure);
     input     = new Layer(reference, 0);
 }