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 } }); }