attractivechaos/kann
A standalone C library for building and training small to medium neural networks including MLPs, CNNs, and RNNs with automatic differentiation.

KANN is a lightweight deep learning framework implemented in pure C with minimal dependencies. It provides graph-based reverse-mode automatic differentiation for constructing neural networks with support for multi-layer perceptrons, convolutional networks, and recurrent networks including LSTM and GRU variants. The library supports weight sharing, multiple inputs and outputs, mini-batching, and multi-threading for CPU-based training and inference.