My code for the Udemy course 'Data Science: Deep Learning and Neural Networks in Python' (https://www.udemy.com/course/data-science-deep-learning-in-python/).
The course contains explicit examples of how to do backpropagation in a simple NN with one hidden layer. Backpropagation equations are derived manually through iterated chain rule and implemented in code using just Numpy (no PyTorch or TF).
The course ends with a project on facial recognition (7 classes). The classification rate is not very good, best I get is 40%. Obviously, CNNs perform much better on such tasks because they do not flatten the images into 1D vectors and take into account the spatial relationships in the images.
The dataset for the project can be found on Kaggle: https://www.kaggle.com/datasets/deadskull7/fer2013