public NeuralNet(int inputCount, int hiddenLayerCount, int hiddenLayerSize, int outputCount)
 {
     _inputLayer   = new Layer(inputCount, hiddenLayerSize);                                                                      //layer with as many weights as inputs
     _hiddenLayers = Enumerable.Range(1, hiddenLayerCount - 1).Select(i => new Layer(hiddenLayerSize, hiddenLayerSize)).ToList(); //the rest of the hidden layers with constant input & node count
     _outputLayer  = new Layer(hiddenLayerSize, outputCount);                                                                     // outputs to a different amount of nodes
 }