Example #1
0
 public void InitializeLayers(ILayerInitializer initializer)
 {
     foreach (var layer in Layers)
     {
         initializer.Initialize(layer);
     }
 }
Example #2
0
        public static Network Build(NetworkDefinition definition, ILayerInitializer initializer)
        {
            var network = new Network(BuildLayers(definition.Layers, definition.InputSize));

            network.InitializeLayers(initializer);
            return(network);
        }
Example #3
0
        public AgentNetwork(AgentNetworkDefinition definition, ILayerInitializer initializer)
        {
            InputCoder = new AgentNetworkInputCoder(definition.ViewRadius);
            var lastLayer         = new NetworkLayerDefinition(definition.LastLayerActivationFunction, 1);
            var networkDefinition = new NetworkDefinition(InputCoder.EncodedSize, definition.Layers.Concat(new[] { lastLayer }));

            Network = NetworkBuilder.Build(networkDefinition, initializer);
        }
Example #4
0
        public Layer(int numberOfNeuronsInPreviousLayer, int numberOfNeurons, ILayerInitializer layerInitializer,
                     IActivation outputActivation)
        {
            Weights = Matrix <double> .Build.Dense(numberOfNeuronsInPreviousLayer, numberOfNeurons, layerInitializer.GetWeight);

            Biases = Vector <double> .Build.Dense(numberOfNeurons, layerInitializer.GetBias);

            OutputActivation = outputActivation;

            previousDeltaWeights = Matrix <double> .Build.Dense(Weights.RowCount, Weights.ColumnCount);

            previousDeltaBiases = Vector <double> .Build.Dense(Biases.Count);
        }