public INeuronLayersNeuronOutputs CalculateAllLayersOutputs(INeuronInputs passedInputs) { IList <INeuronOutputs> neuronLayerNeuronOutputs = new List <INeuronOutputs>(this._Values.Count); INeuronInputs layerInputs = passedInputs; foreach (INeuronLayer neuronLayer in this._Values) { INeuronOutputs neuronLayerOutput = neuronLayer.CalculateLayerOutput(layerInputs); } }
/// <summary> /// Calculates the Outputs for all Neurons in the Layer given the Input. /// Notes: /// -float[Neuron Output] /// </summary> /// <param name="passedInput">The Input for all Neurons in the Layer.</param> /// <returns>The Outputs of all Neurons in the Layer.</returns> public INeuronOutputs CalculateLayerOutput(INeuronInputs passedInput) { IList <INeuronOutput> outputs = new List <INeuronOutput>((int)this.NumberOfNeurons); for (int i = 0; i < this._Neurons.Count; i++) { INeuron neuron = this._Neurons[i]; INeuronOutput neuronOutput = neuron.CalculateOutput(passedInput); outputs.Add(neuronOutput); } INeuronOutputs result = new NeuronOutputs(outputs); return(result); }
/// <summary> /// Calculates Output for the Network. /// Notes: /// -float[Neuron Output]. /// </summary> /// <param name="passedInput">The Input for the Network.</param> /// <returns>The Output of the Output Layer.</returns> public INeuronOutputs CalculateNetworkOutput(INeuronInputs passedInput) { INeuronInputs nextLayerInput = passedInput; IEnumerator <INeuronLayer> neuronLayersEnumeartor = this._AllNeuronLayers.Values; INeuronOutputs result; while (neuronLayersEnumeartor.MoveNext()) { INeuronLayer currentNeuronLayer = neuronLayersEnumeartor.Current; result = currentNeuronLayer.CalculateLayerOutput(nextLayerInput); nextLayerInput = result; } return(result); }
/// <summary> /// Calculates the Output for the Neuron given the Input. /// </summary> /// <param name="passedInput">The Input for the Neuron.</param> /// <returns>The Output of the Neuron.</returns> public INeuronOutput CalculateOutput(INeuronInputs passedInputs) { float total = 0.0f; IEnumerator <INeuronWeight> neuronWeightsEnumerator = this.Weights.Weights; IEnumerator <INeuronInput> neuronInputsEnumerator = passedInputs.Values; while (neuronWeightsEnumerator.MoveNext() && neuronInputsEnumerator.MoveNext()) { INeuronWeight currentWeight = neuronWeightsEnumerator.Current; INeuronInput currentInput = neuronInputsEnumerator.Current; float tempValue = currentWeight.Value * currentInput.Value; total += tempValue; } float computedResult = this.ActivationFunction.CalculateOutput(total, this.Threshold); INeuronOutput result = new NeuronOutput(computedResult); return(result); }
public INeuronsNeuronOutput CalculateNeuronsOutput(INeuronInputs passedNeuronInputs) { throw new NotImplementedException(); }