Ejemplo n.º 1
0
        /// <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);
        }