createLayers method
Implementation
List<Layer> createLayers() {
Layer previousLayer = inputLayer;
List<Layer> hiddenLayers = [];
for (int i = 0; i < hiddenLayerCount; i++) {
List<Neuron> neuronList = [];
for (int j = 0; j < hiddenLayerNeuronCount; j++) {
Neuron neuron = Neuron(value: 0.0);
neuronList.add(neuron);
}
Layer layer = Layer.hidden(
previousLayer: previousLayer,
nextLayer: null,
neurons: neuronList,
);
if (i == hiddenLayerCount - 1) {
layer.nextLayer = outputLayer;
}
previousLayer.nextLayer ??= layer;
hiddenLayers.add(layer);
previousLayer = layer;
}
List<Layer> layers = [];
outputLayer.previousLayer = hiddenLayers.last;
layers.add(inputLayer);
layers.addAll(hiddenLayers);
layers.add(outputLayer);
return layers;
}