internal static float[] InitializeBiasWeights(uint neuronsCount, InitializerBias biasInitializer) { float[] _randomWeights = new float[neuronsCount]; for (int neuron = 0; neuron < neuronsCount; neuron++) { _randomWeights[neuron] = GetWeights(biasInitializer); } return(_randomWeights); float GetWeights(InitializerBias initializer) { float _weight = 0; switch (initializer) { case InitializerBias.Zeros: _weight = 0F; break; case InitializerBias.Ones: _weight = 1F; break; case InitializerBias.Random: _weight = (float)Math.Round(_random.NextDouble(), 5); break; } return(_weight); } }
internal NeuralLayerFactory(uint sens, uint[] neurons, bool isBiasNeurons, InitializerWeights weightsInitializer, InitializerBias biasInitializer) { _sensorsCount = sens; _neurons = neurons; _isBiasNeurons = isBiasNeurons; _weightsInitializer = weightsInitializer; _biasInitializer = biasInitializer; }
public Builder SetBiasNeurons(bool isBiasNeurons, InitializerBias biasInitializer = default(InitializerBias)) { IsBiasNeurons = isBiasNeurons; BiasInitializer = biasInitializer; return(this); }
internal NeuralLayer(uint synapsesCount, uint neuronsCount, bool isBiasNeuron, InitializerWeights weightsInitializer, InitializerBias biasInitializer) { _SynapsesCount = synapsesCount; _NeuronsCount = neuronsCount; _NeuronWeights = NeuralMath.InitializeNeuronWeights(_SynapsesCount, _NeuronsCount, weightsInitializer); if (isBiasNeuron) { _BiasWeights = NeuralMath.InitializeBiasWeights(neuronsCount, biasInitializer); } }
internal HiddenLayer(uint synapsesCount, uint neuronsCount, bool isBiasNeuron, InitializerWeights weightsInitializer, InitializerBias biasInitializer) : base(synapsesCount, neuronsCount, isBiasNeuron, weightsInitializer, biasInitializer) { }