← all repositories
libfann/fann

Old-school C neural nets for when you don't need a GPU

FANN is a C library that trains and runs multilayer neural networks on modest hardware without dragging in a modern ML framework.

1.7k stars C++ ML Frameworks
fann
Not currently ranked — collecting fresh signals.
star history

What it does This is a no-frills C library for building, training, and running multilayer artificial neural networks. It supports both fully connected and sparsely connected topologies, manages training data through a dedicated framework, and can execute in fixed-point (int) or floating-point (float/double) arithmetic. The entire workflow—create, train, run—is exposed through a minimal API, and complete networks can be saved and loaded from disk.

The interesting bit FANN targets constraints that modern frameworks usually ignore: cache-optimized routines, stepwise linear activations for speed, and true fixed-point support for platforms without an FPU. That makes it genuinely embeddable in a way that a modern Python-based framework rarely is. The Cascade2 algorithm, which dynamically grows network topology during training, is also a throwback to when architecture search was part of the training process itself.

Key highlights

  • Backpropagation variants including RPROP, Quickprop, batch, and incremental training
  • Bindings to more than 15 languages, so you are not trapped in C
  • LGPL license, meaning commercial use is explicitly allowed
  • Cross-platform support spanning Linux, Unix, and Windows, with project files for MSVC++ and Borland compilers reported to work
  • Graphical interfaces and a 50-page university report documenting implementation trade-offs

Caveats

  • The README claims execution is “up to 150 times faster than other libraries” without naming competitors, benchmarks, or hardware, so the basis for that figure is unclear.
  • It lists Borland compiler support and cites “approximately 100 downloads a day,” both of which suggest the project’s public-facing metrics and platform targets may be dated.
  • Sparse connectivity and fixed-point execution are advertised, but the README does not explain how to configure either.

Verdict Worth a look if you need a small, dependency-free neural net in a C or embedded codebase and do not require modern deep-learning primitives like convolutions or automatic differentiation. Skip it if you are expecting GPU acceleration, transformer blocks, or a thriving ecosystem of pre-trained models.

Frequently asked

What is libfann/fann?
FANN is a C library that trains and runs multilayer neural networks on modest hardware without dragging in a modern ML framework.
Is fann open source?
Yes — libfann/fann is open source, released under the LGPL-2.1 license.
What language is fann written in?
libfann/fann is primarily written in C++.
How popular is fann?
libfann/fann has 1.7k stars on GitHub.
Where can I find fann?
libfann/fann is on GitHub at https://github.com/libfann/fann.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.