Neural Network from scratch: Part 5; C++ Deep Learning Framework Implementation
C++ project.
The main goal of this article is to show how to develop a project in C++ by explaining key concepts of the language: abstract class/interface and inheritance, memory management, smart-pointers, iterator, constexpress, templates, std containers and eigen matrices, static class, namespace, makefile/cmake and debugging (step-by-step, memory leaks detection, profiling). This project will be applied to the development of a simple Deep Learning framework implementing the MSE loss, ReLU and softmax activation functions, linear layer, a feature/label generator and a mini-batch training function.
Continue reading “Neural Network from scratch: Part 5; C++ Deep Learning Framework Implementation”