Layer represents a single layer in the neural network.
It contains weights, biases, and information about the size of the layer.
It also contains an activation function used to transform the output of this layer.
NeuralNetwork represents a full feedforward neural network with multiple layers.
It contains information about the input size, output size, and the layers that make up the network.