The task here is to build a neural network with user specified number of layers and the number of neurons for each of the layers. This task can easily be done by using packages like keras, pytorch, numpy, TensorFlow and many more. The goal here is to not use any of the above mentioned packages. This seems more like re-inventing the wheel but in order to understand neural networks well, looking at the implementation from scratch is very important
- Implement a Network Class
- Implement a Neuron Class
- Implement a Connection Class
- Add relation between Neurons
- Implement program flow (Feed forward Neural Network)
- Building multi-dimensional network (something like flatten)
- Add cross connections
- Build an optimizer
Creating a Neural Network from scratch without using any machine learning library or framework