public NeuralLayer(MathOperationManager mathManager, int neuronCount, int batchSize, bool isInputLayer = false, bool isOutputLayer = false) { this.IsInputLayer = isInputLayer; this.IsOutputLayer = isOutputLayer; this.Data = mathManager.CreateMatrix(neuronCount, batchSize); this.Bias = mathManager.CreateMatrix(ArrayUtilities.GetArrayWithRandomValues(neuronCount), neuronCount); this.ErrorGradient = mathManager.CreateMatrix(neuronCount, batchSize); }
public NeuralLink(MathOperationManager mathManager, NeuralLayer layerIn, NeuralLayer layerOut) { this.Weights = mathManager.CreateMatrix(ArrayUtilities.GetArrayWithRandomValues(layerOut.Data.Row * layerIn.Data.Row), layerOut.Data.Row, layerIn.Data.Row); this.ErrorGradient = mathManager.CreateMatrix(layerOut.Data.Row, layerIn.Data.Row); }