/// <summary> /// Creates a new NeuralNetwork based on an instance. /// </summary> /// <param name="_nn"></param> /// <returns></returns> public static NeuralNetwork Copy(NeuralNetwork _nn) { NeuralNetwork nn2 = new NeuralNetwork( _nn.inputs, _nn.hiddenNodes, _nn.outputs, _nn.numHiddenLayers); List <MatrixF> weights = new List <MatrixF>(); List <MatrixF> bias = new List <MatrixF>(); for (int i = 0; i < _nn.weightMatrixes.Count; i++) { weights.Add(MatrixF.Copy(_nn.weightMatrixes[i])); } for (int i = 0; i < _nn.biasMatrixes.Count; i++) { bias.Add(MatrixF.Copy(_nn.biasMatrixes[i])); } nn2.weightMatrixes = weights; nn2.biasMatrixes = bias; return(nn2); }