Generic Machine Learning Library (GMLL) – Keras Clone in C++
GitHub Repository
Developed a C++ machine learning library inspired by Keras, designed to simplify the creation and training of neural networks, including Deep Neural Networks (DNNs), Convolutional Neural Networks (CNNs), and Recurrent Neural Networks (RNNs). Unlike Keras, which is implemented in Python and can suffer from performance bottlenecks, this library leverages the speed of C++ while retaining usability.
Key Features and Contributions:
- Python Bindings with pybind11: Enabled seamless integration with Python, allowing users to leverage the library in Python workflows while benefiting from native C++ performance.
- Template-based Generic Programming: Enforced type safety and flexibility through template classes and functions, making the library fully generic without relying on external dependencies.
- Dependency-free Design: Achieved a lightweight, portable codebase with zero third-party dependencies.
- Support for Modern Neural Network Architectures: Provides building blocks to construct DNNs, CNNs, and RNNs, enabling efficient experimentation with feedforward, convolutional, and sequential models.
This project demonstrates how high-performance C++ can bridge the gap between Python’s ease of use and the efficiency required for large-scale machine learning tasks, offering a faster alternative to Python-based Keras implementations.