|
| 1 | +# Deep Learning Library |
1 | 2 |
|
| 3 | +A from-scratch deep learning framework in modern C++ with Python bindings. |
| 4 | + |
| 5 | +## Features |
| 6 | + |
| 7 | +- **Computational Graph**: Dynamic graph construction with automatic differentiation |
| 8 | +- **Core Components**: |
| 9 | + - Automatic differentiation (autograd) |
| 10 | + - Backpropagation engine |
| 11 | + - Neural network layers (in progress) |
| 12 | +- **Python Interface**: Seamless integration via Boost.Python |
| 13 | +- **Clean Architecture**: Modular design, ~4K LOC |
| 14 | +- **CI/CD**: Automated testing with GTest and GitHub Actions |
| 15 | + |
| 16 | +## Tech Stack |
| 17 | + |
| 18 | +- C++17/20 |
| 19 | +- CMake build system |
| 20 | +- Boost.Python for Python bindings |
| 21 | +- Google Test (GTest) for unit testing |
| 22 | +- GitHub Actions for CI/CD |
| 23 | + |
| 24 | +## Current Status |
| 25 | + |
| 26 | +🚧 **Work in Progress** - Implementing additional layers and optimizations |
| 27 | + |
| 28 | +Roadmap: |
| 29 | +- [ ] Python Binding Unit Tests |
| 30 | +- [ ] Additional layer types (Conv2D, LSTM, etc.) |
| 31 | +- [ ] Optimizers and training framework |
| 32 | +- [ ] CUDA kernels for performance-critical operations |
| 33 | +- [ ] AlexNet reference implementation |
| 34 | +- [ ] Docker deployment example |
| 35 | + |
| 36 | +## Building |
| 37 | +```bash |
| 38 | +mkdir build && cd build |
| 39 | +cmake .. |
| 40 | +make |
| 41 | +./run_tests |
| 42 | +``` |
2 | 43 |
|
3 | 44 | ## Required |
4 | 45 |
|
|
12 | 53 |
|
13 | 54 | ### Building on Windows |
14 | 55 |
|
15 | | -The implementation of the Python wrapper does not work on MSVC6/7 in its current form. This is due to an issue that arises from Boost Python in combination with these compilers. Workarounds are proposed, but not implemented. More information here [here](https://beta.boost.org/doc/libs/develop/libs/python/doc/html/tutorial/tutorial/exposing.html). |
| 56 | +The implementation of the Python wrapper does not work on MSVC6/7 in its current form. This is due to an issue that arises from Boost Python in combination with these compilers. Workarounds are proposed, but not implemented. More information here [here](https://beta.boost.org/doc/libs/develop/libs/python/doc/html/tutorial/tutorial/exposing.html). |
| 57 | + |
| 58 | +## Motivation |
| 59 | + |
| 60 | +Built to understand deep learning frameworks from first principles - from computational graphs to gradient computation to optimization algorithms. |
| 61 | + |
| 62 | +## License |
| 63 | + |
| 64 | +MIT |
0 commit comments