Fast Artificial Neural Network. Fast Artificial Neural Network (FANN) is cross-platform programming library for developing multilayer feedforward artificial neural networks (ANNs). It is free and open-source software licensed under the GNU Lesser General Public License (LGPL).

Characteristics 
FAN supports cross-platform execution of single and multilayer networks. It also supports fixed-point and floating-point arithmetic. It includes functions that simplify the creating, training and testing of neural networks. It has bindings for over 20 programming languages, including commonly used languages such as PHP, C# and Python.

On the FANN website multiple graphical user interfaces 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. 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). This report was submitted to the computer science department at the 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 that can learn from experience. His goal was to use this autonomous agent to create a virtual player in 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, different activation functions, simpler access to parameters and bindings to multiple programming languages. It has been downloaded 450,000 times since its move to SourceForge in 2003; 29,000 times in 2016 alone.

The source code is now hosted on 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.

Research 
The original FANN report written by Steffen Nissen has been cited 526 times per Google Scholar. The library has been used for research in image recognition, machine learning, biology, genetics, aerospace engineering, environmental sciences and artificial intelligence.

Notable publications that cite FANN include:

Language bindings 

FANN was originally written in the language C. Many other language bindings have been created by FANN contributors, including:
 FannCSharp
 C#
 
 Java
 FANN Wrapper for C++
 C++
 
 node.js
 
 JavaScript
 PHP FANN
 PHP
 Fortran FANN
 Fortran
 Rust FANN
 Rust
 
 Erlang
 Python FANN
 Python
 DerelictFANN
 D
 
 MetaTrader 4 (MQL4)
 AI-FANN
 Perl
 
 Ruby
 
 Harbour
 Delphi FANN
 Delphi
 Tcl Artificial Neural Networks
 Tcl
 
 Lua
 Prolog FANN
 Visual Prolog 7
 
 SWI-Prolog
 
 Go
 FANN Kernel
 Soap, Web service
 MATLAB FANN
 MATLAB
 R-binding 
 R
 FannAda
 Ada
 
 Haskell
 
 GRASS
 
 Octave
 Smalltalk FANN
 Squeak Smalltalk
 PD ANN	
 Pure Data

See also 
Deep learning

References

External links 
 
 

Programming libraries