private void InitializeConnections(int inputDimension) { for (var x = 0; x < _width; x++) { Parallel.For(0, _height, y => { _lattice[x, y] = new Neuron.Neuron(inputDimension) { X = x, Y = y }; }); } }
public void Constructor_ActivationFunctionInputFunction_NeuronInitialized() { var activationFunction = new Mock <IActivationFunction>(); var inputFunction = new Mock <IInputFunction>(); var neuron = new Neuron.Neuron(activationFunction.Object, inputFunction.Object); Assert.IsNotNull(neuron); Assert.AreNotEqual(Guid.Empty, neuron.Id); Assert.IsNotNull(neuron.Inputs); Assert.IsNotNull(neuron.Outputs); }
public void AddInputSynapse_SynapsePassed_ConnectionCreated() { var activationFunction = new Mock <IActivationFunction>(); var inputFunction = new Mock <IInputFunction>(); var neuron = new Neuron.Neuron(activationFunction.Object, inputFunction.Object); neuron.AddInputSynapse(0.11); Assert.AreEqual(1, neuron.Inputs.Count); Assert.AreEqual(1, neuron.Inputs.First().Weight); Assert.AreEqual(0.11, neuron.Inputs.First().GetOutput()); }
public void AddOutput_NeuronPassed_ConnectionCreated() { var activationFunction = new Mock <IActivationFunction>(); var inputFunction = new Mock <IInputFunction>(); var neuron = new Neuron.Neuron(activationFunction.Object, inputFunction.Object); var outputNeuron = new Neuron.Neuron(activationFunction.Object, inputFunction.Object); neuron.AddOutputNeuron(outputNeuron); Assert.AreEqual(1, neuron.Outputs.Count); }
public void CalculateOutput_MockingFunctions_OutputReturned() { var activationFunction = new Mock <IActivationFunction>(); activationFunction.Setup(x => x.CalculateOutput(It.IsAny <double>())).Returns(111); var inputFunction = new Mock <IInputFunction>(); inputFunction.Setup(x => x.CalculateInput(It.IsAny <List <ISynapse> >())).Returns(23); var neuron = new Neuron.Neuron(activationFunction.Object, inputFunction.Object); Assert.AreEqual(111, neuron.CalculateOutput()); }
public void AddInputSynapse_SynapseAdded_NumberOdSynapsesIncreased() { var activationFunction = new Mock <IActivationFunction>(); activationFunction.Setup(x => x.CalculateOutput(It.IsAny <double>())).Returns(111); var inputFunction = new Mock <IInputFunction>(); inputFunction.Setup(x => x.CalculateInput(It.IsAny <List <ISynapse> >())).Returns(23); var neuron = new Neuron.Neuron(activationFunction.Object, inputFunction.Object); neuron.AddInputSynapse(0); Assert.AreEqual(1, neuron.Inputs.Count); }
public void PushInputValueToInput_SendingValueToInput_ProperValueOnInputSet() { var activationFunction = new Mock <IActivationFunction>(); activationFunction.Setup(x => x.CalculateOutput(It.IsAny <double>())).Returns(111); var inputFunction = new Mock <IInputFunction>(); inputFunction.Setup(x => x.CalculateInput(It.IsAny <List <ISynapse> >())).Returns(23); var neuron = new Neuron.Neuron(activationFunction.Object, inputFunction.Object); neuron.AddInputSynapse(0); neuron.PushValueOnInput(1); Assert.AreEqual(1, neuron.Inputs.First().GetOutput()); }