I should add a function to each layer class that calculates and returns its output size. This would eliminate the need for people to specify the input shape for each layer explicitly. I should also pass a reference to the previous layer's object within the network class. This can be done on initialization of the network class similar to the layer properties. That way subsequent layers can call the function to get the previous layers output shape kind of like a linked list.
I should add a function to each layer class that calculates and returns its output size. This would eliminate the need for people to specify the input shape for each layer explicitly. I should also pass a reference to the previous layer's object within the network class. This can be done on initialization of the network class similar to the layer properties. That way subsequent layers can call the function to get the previous layers output shape kind of like a linked list.