This repository documents my journey of learning C by implementing neural networks from scratch. I'll be sharing my progress, ideas, and experiments in overoptimizing neural networks using C.
I'm currently improving my shallow neural network implementation in shallow_nn.c
. Once
I've refined this, I'll move on to exploring other neural network architectures.
I've implemented a custom matrix library in mat.c
, which uses a linear continuous array
to store matrix data. I'm using arithmetic operations to determine the index.
To use the code, simply execute build.sh
to generate the shallow_nn.out
executable.
If you're interested in seeing how my implementation has evolved, check out the following tags:
- v0.1.0: Multi-pointer array implementation for matrices
- v0.2.0: Linear array implementation for matrices
- v0.3.0: Combining Ax + B to MX one operation
I appreciate any contributions to improve the code! If you have suggestions or improvements, please don't hesitate to submit a pull request.