Пример #1
0
        private void Copy(MultilayerPerceptron other)
        {
            foreach (var l in other._hidden)
            {
                AddLayer(l.Count);
            }

            if (_hidden.Count == 0)
            {
                for (int i = 0; i < _output.Count; i++)
                {
                    _output[i].AddParents(_input, other._output[i]);
                }
            }
            else
            {
                for (int i = 0; i < _hidden[0].Count; i++)
                {
                    _hidden[0][i].AddParents(_input, other._hidden[0][i]);
                }
                for (int i = 1; i < _hidden.Count; i++)
                {
                    for (int j = 0; j < _hidden[i].Count; j++)
                    {
                        _hidden[i][j].AddParents(_hidden[i - 1], other._hidden[i][j]);
                    }
                }
                for (int i = 0; i < _output.Count; i++)
                {
                    _output[i].AddParents(_hidden[_hidden.Count - 1], other._output[i]);
                }
            }
        }
Пример #2
0
        public override NeuralNetwork Copy()
        {
            var result = new MultilayerPerceptron(_input.Count, _output.Count, _func);

            result.Copy(this);
            return(result);
        }