# Fast Artificial Neural Network

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Fast_Artificial_Neural_Network
> Markdown URL: https://mediated.wiki/source/Fast_Artificial_Neural_Network.md
> Source: https://en.wikipedia.org/wiki/Fast_Artificial_Neural_Network
> Source revision: 1344424054
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

**Fast Artificial Neural Network** (**FANN**) is [cross-platform](/source/Cross-platform_software) [programming library](/source/Library_(computing)) for developing multilayer [feedforward](/source/Feedforward_neural_network) [artificial neural networks](/source/Artificial_neural_network) (ANNs). It is [free and open-source software](/source/Free_and_open-source_software) licensed under the [GNU Lesser General Public License](/source/GNU_Lesser_General_Public_License) (LGPL).

## Characteristics

FANN supports cross-platform execution of single and multilayer networks. It also supports [fixed-point](/source/Fixed-point_arithmetic) and [floating-point arithmetic](/source/Floating-point_arithmetic). It includes functions that simplify the creating, training and testing of neural networks. It has [bindings](/source/Language_binding) for over 20 [programming languages](/source/Programming_language), including commonly used languages such as [PHP](/source/PHP), [C#](/source/C_Sharp_(programming_language)) and [Python](/source/Python_(programming_language)).[1]

On the FANN website multiple [graphical user interfaces](/source/Graphical_user_interface) are available for use with the library such as FANNTool, Agiel Neural Network, Neural View, FannExeplorer, and others. These graphical interface facilitate the use of FANN for users less familiar with programming or seeking a simple out-of-the box solution.

Training for FANN is carried out through [backpropagation](/source/Backpropagation). The internal training functions are optimized to decrease the training time.

Trained artificial neural networks can be stored as files to quickly saved and load ANNs for future use or future training. This allows dividing the training into multiple smaller steps, which can be useful when dealing with large training datasets or large neural networks.

## History

FANN was originally written by Steffen Nissen. Its original implementation is described in Nissen's 2003 report *Implementation of a Fast Artificial Neural Network Library (FANN)*.[2] This report was submitted to the [computer science](/source/Computer_science) department at the [University of Copenhagen](/source/University_of_Copenhagen) (DIKU). In his original report, Nissen stated that one of his main motives in writing FANN was to develop a neural network library that was friendly to both fixed point and floating point arithmetic. Nissen wanted to develop an [autonomous agent](/source/Autonomous_agent) that can learn from experience. His goal was to use this autonomous agent to create a virtual player in [Quake III Arena](/source/Quake_III_Arena) that can learn from gameplay.

Since its original 1.0.0 version release, the library's functions have been expanded by the creator and its many contributors to include more practical [constructors](/source/Constructor_(object-oriented_programming)), different [activation functions](/source/Activation_function), simpler access to parameters and [bindings](/source/Language_binding) to multiple programming languages.

Project maintenance was initially since 2003 done on [SourceForge](/source/SourceForge), but since 2011 it has been maintained using the [Git](/source/Git) version control system[3] hosted on [GitHub](/source/GitHub). The project was inactive from Nov 2015 to May 2018; in the issue section some users mentioned that the author was no longer contactable. Since 2018, development has become active again with contributions from several collaborators.[4]

## Research

The original FANN report written by Steffen Nissen has been cited 526 times per [Google Scholar](/source/Google_Scholar). The library has been used for research in [image recognition](/source/Image_recognition), [machine learning](/source/Machine_learning), [biology](/source/Biology), [genetics](/source/Genetics), [aerospace engineering](/source/Aerospace_engineering), [environmental sciences](/source/Environmental_sciences) and [artificial intelligence](/source/Artificial_intelligence).

Notable publications that cite FANN include:

- Papa, J. P. (2009). "Supervised pattern classification based on optimum-path forest". *International Journal of Imaging Systems and Technology*
- Papa, J. P. (2012). "Efficient supervised optimum-path forest classification for large datasets". *Pattern Recognition*
- Enzweiler, M. (2011). "A Multilevel Mixture-of-Experts Framework for Pedestrian Classification". *IEEE Transactions on Image Processing*
- Goller, B. (2011). "A stochastic model updating technique for complex aerospace structures". *Finite Elements in Analysis and Design*
- Tartaglia, G. G. (2006). "Prediction of Local Structural Stabilities of Proteins from Their Amino Acid Sequences". *Structure*

## Language bindings

FANN was originally written in the language [C](/source/C_(programming_language)).[5] Many other language bindings have been created by FANN contributors, including:

- FannCSharp - [C#](/source/C_Sharp_(programming_language))
- - [Java](/source/Java_(programming_language))
- FANN Wrapper for C++ - [C++](/source/C%2B%2B)
- - [node.js](/source/Node.js)
- - [JavaScript](/source/JavaScript)
- PHP FANN[6] - [PHP](/source/PHP)
- Fortran FANN - [Fortran](/source/Fortran)
- Rust FANN - [Rust](/source/Rust_(programming_language))
- - [Erlang](/source/Erlang_(programming_language))
- Python FANN - [Python](/source/Python_(programming_language))
- DerelictFANN - [D](/source/D_(programming_language))
- - [MetaTrader 4](/source/MetaTrader_4) (MQL4)
- AI-FANN - [Perl](/source/Perl)
- - [Ruby](/source/Ruby_(programming_language))
- - [Harbour](/source/Harbour_(programming_language))
- Delphi FANN - [Delphi](/source/Delphi_(software))
- Tcl Artificial Neural Networks - [Tcl](/source/Tcl_(programming_language))
- - [Lua](/source/Lua_(programming_language))
- Prolog FANN - [Visual Prolog](/source/Visual_Prolog) 7
- - [SWI-Prolog](/source/SWI-Prolog)
- - [Go](/source/Go_(programming_language))
- FANN Kernel - Soap, Web service
- MATLAB FANN - [MATLAB](/source/MATLAB)
- R-binding - [R](/source/R_(programming_language))
- FannAda - [Ada](/source/Ada_(programming_language))
- - [Haskell](/source/Haskell)
- - [GRASS](/source/GRASS_(programming_language))
- - [Octave](/source/GNU_Octave)
- Smalltalk FANN - [Squeak](/source/Squeak) [Smalltalk](/source/Smalltalk)
- PD ANN - [Pure Data](/source/Pure_Data)

## See also

- [Deep learning](/source/Deep_learning)

## References

1. ["FANN – Fast Artificial Neural Network"](https://leenissen.dk/). *leenissen.dk*. Retrieved 2026-03-20.

1. Nissen, Steffen (31 October 2003). [*Implementation of a Fast Artificial Neural Network Library (FANN)*](https://fann.sourceforge.net/report/). Department of Computer Science University of Copenhagen (DIKU). Retrieved 12 January 2026.

1. ["libfann/fann - Initial commit of VS2010 project and src and example files"](https://github.com/libfann/fann/commit/71c8a98d598520afacd26ab6f74422127d93d799). *[GitHub](/source/GitHub)*. 4 September 2011. Retrieved 12 January 2026.

1. ["Has the owner of this repo retired / \[*sic*\]"](https://github.com/libfann/fann/issues/95). *[GitHub](/source/GitHub)*. No. 95 libfann/Fann.

1. ["Fast Artificial Neural Network Library"](https://fann.sourceforge.net/fann.html). *fann.sourceforge.net*. Retrieved 2025-07-22.

1. ["PHP: FANN - Manual"](https://www.php.net/manual/en/book.fann.php). *www.php.net*. Retrieved 2022-10-08.

## External links

- [Official website](http://leenissen.dk/fann/wp)

---
Adapted from the Wikipedia article [Fast Artificial Neural Network](https://en.wikipedia.org/wiki/Fast_Artificial_Neural_Network) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Fast_Artificial_Neural_Network?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
