public Vector <float> FeedForward(Vector <float> inputs) { Vector <float> hiddenActivations = HiddenWeights .Multiply(inputs) .Add(HiddenBiases) .Map(NetworkParameters.HiddenLayerActivationFunction); return(OutputWeights .Multiply(hiddenActivations) .Add(OutputBiases) .Map(NetworkParameters.OutputLayerActivationFunction)); }
public string ToFullParamsString() { return($"{NetworkParameters.InputCount}-{NetworkParameters.HiddenLayerNeuronCount}\n" + $"{HiddenWeights.ToMatrixString()}\n{HiddenBiases.ToVectorString()}\n{OutputWeights.ToMatrixString()}\n{OutputBiases.ToVectorString()}"); }
public override string ToString() { return($"{NetworkParameters.InputCount}-{NetworkParameters.HiddenLayerNeuronCount} " + $"{HiddenWeights.GetHashCode()},{HiddenBiases.GetHashCode()},{OutputWeights.GetHashCode()},{OutputBiases.GetHashCode()}"); }
public NeuralNetwork Clone() { return(new NeuralNetwork(HiddenWeights.Clone(), HiddenBiases.Clone(), OutputWeights.Clone(), OutputBiases.Clone(), NetworkParameters.HiddenLayerActivationFunction, NetworkParameters.OutputLayerActivationFunction)); }