Ejemplo n.º 1
0
        private NeuralNetworkDomain ConvertNeuralNetFromEntity(NeuralNet neuralNet)
        {
            var neuralNetDomain = _mapper.Map <NeuralNetworkDomain>(neuralNet);

            neuralNetDomain.Neurons  = _mapper.Map <List <NeuronDomain> >(neuralNet.Neurons);
            neuralNetDomain.Synapses = new List <SynapseDomain>();

            foreach (var synapse in neuralNet.Synapses)
            {
                var inputNeuron   = neuralNetDomain.Neurons.Single(n => n.IdNeuron == synapse.NeuronIdInput);
                var outputNeuron  = neuralNetDomain.Neurons.Single(n => n.IdNeuron == synapse.NeuronIdOutput);
                var domainSynapse = new SynapseDomain(inputNeuron, outputNeuron, synapse.Weight);
                domainSynapse.IdSynapse = synapse.Id;
                neuralNetDomain.Synapses.Add(domainSynapse);
            }
            return(neuralNetDomain);
        }
        //TODO use test fixture
        private NeuralNetworkDomain GetNeuralNet()
        {
            var neuron1 = new NeuronDomain
            {
                IdNeuron    = 1,
                DataOut     = 1,
                NeuralNetId = 1,
                NeuronType  = NeuronType.InputNeuronType
            };
            var neuron2 = new NeuronDomain
            {
                IdNeuron    = 2,
                DataOut     = 0,
                NeuralNetId = 1,
                NeuronType  = NeuronType.InputNeuronType
            };
            var neuron3 = new NeuronDomain
            {
                IdNeuron    = 3,
                NeuralNetId = 1,
                NeuronType  = NeuronType.FirstLayerHiddenNeuronType
            };
            var neuron4 = new NeuronDomain
            {
                IdNeuron    = 4,
                NeuralNetId = 1,
                NeuronType  = NeuronType.FirstLayerHiddenNeuronType
            };
            var neuron5 = new NeuronDomain
            {
                IdNeuron    = 5,
                NeuralNetId = 1,
                NeuronType  = NeuronType.OutputNeuronType
            };

            var synapse1 = new SynapseDomain(neuron1, neuron3, 0.45)
            {
                IdSynapse   = 1,
                NeuralNetId = 1,
            };
            var synapse2 = new SynapseDomain(neuron1, neuron4, 0.78)
            {
                IdSynapse   = 2,
                NeuralNetId = 1,
            };
            var synapse3 = new SynapseDomain(neuron2, neuron3, -0.12)
            {
                IdSynapse   = 3,
                NeuralNetId = 1,
            };
            var synapse4 = new SynapseDomain(neuron2, neuron4, 0.13)
            {
                IdSynapse   = 4,
                NeuralNetId = 1,
            };
            var synapse5 = new SynapseDomain(neuron3, neuron5, 1.5)
            {
                IdSynapse   = 5,
                NeuralNetId = 1,
            };
            var synapse6 = new SynapseDomain(neuron4, neuron5, -2.3)
            {
                IdSynapse   = 6,
                NeuralNetId = 1,
            };

            return(new NeuralNetworkDomain
            {
                Id = 1,
                LearningSpeed = 0.7,
                Moment = 0.3,
                MSEcounter = 0,
                ErrorMSE = 0,
                Neurons = new List <NeuronDomain>
                {
                    neuron1,
                    neuron2,
                    neuron3,
                    neuron4,
                    neuron5,
                },
                Synapses = new List <SynapseDomain>
                {
                    synapse1,
                    synapse2,
                    synapse3,
                    synapse4,
                    synapse5,
                    synapse6
                }
            });
        }