Fast Artificial Neural Network Library (FANN)

Category Intelligent Software>Neural Network Systems/Tools

Abstract Fast Artificial Neural Network Library (FANN) is a free open source neural network library, which implements multilayer artificial neural networks (NNs) in C with support for both fully connected and sparsely connected networks.

Cross-platform execution in both fixed and floating point is supported. It includes a framework for easy handling of training data sets. It is easy to use, versatile, well documented, and fast.

PHP, C++, .NET, Ada, Python, Delphi, Octave, Ruby, Prolog Pure Data and Mathematica bindings are available.

A ‘reference manual’ accompanies the library with examples and recommendations on how to use the library. A graphical user interface is also available for the library.

FANN features/capabilities:

1) Multilayer Artificial Neural Network Library in C.

2) Back propagation training (RPROP, Quickprop, Batch, Incremental).

3) Evolving topology training which dynamically builds and trains the Artificial Neural Network (ANN) (Cascade2).

4) Easy to use [Create, train and run an ANN with just three (3) function calls].

5) Fast (up to 150 times faster execution than other libraries).

6) Versatile (It is possible to adjust many parameters and features ‘on-the- fly’).

7) Well documented (An easy to use ‘reference manual’, a 50+ page ‘university report’ describing the implementation considerations etc. and an ‘introduction article’).

8) Cross-platform (configure script for Linux and UNIX, Dynamic Link Library (DLL) files for Windows, project files for Microsoft Visual C++ (MSVC++) and Borland compilers are also reported to work).

9) Several different activation functions are implemented (including stepwise linear functions for that extra bit of speed).

10) Easy to save and load entire Artificial Neural Networks.

11) Several easy to use examples (provides a simple train example and a simple test example).

12) Can use both floating point and fixed point numbers (actually both float, double and Integer are available).

13) Cache optimized (for that extra bit of speed).

14) Open source (licensed under LGPL).

15) Framework for easy handling of training data sets.

16) fannExplorer (GUI) - fannExplorer is a portable graphical environment for developing, training and testing neural networks. It supports ‘animation’ of the training process.

The fannExplorer provides an easy-to-use browser based interface to the FANN library. It requires a web browser with JavaScript, Flash version 7 or later and fannKernel.

fannKernel provides the NN calculation engine. It is multi-threaded so multiple NNs can be trained at the same time by one or more users.

17) FANNTool (GUI) - FANNTool is a GUI to the FANN library which allows its easy usage without the need of programming. This tool enables you to:

18) NeuralView (GUI) - NeuralView is a neural network simulator, with a multi-platform graphical interface.

19) C++ Bindings and Java Bindings and PERL Bindings - This module provides a Perl wrapper for the FANN library.

20) PHP Extension - Provides functions that allow you to interact with the FANN library from PHP.

21) Python Bindings - Provides functions that allow you to interact with the FANN library from Python.

22) Ruby Bindings - Bindings to use FANN from within the Ruby/Rails environment.

23) Delphi Bindings - Provides functions that allow you to interact with the FANN library from Delphi.

24) Tool Command Language (TCL) Bindings - Provides functions that allow you to interact with the FANN library from TCL.

25) Lua (an embeddable scripting language) Bindings - Provides functions that allow you to interact with the FANN library from Lua.

26) Haskell Bindings - hfann is a Haskell binding to the FANN library. It provides functions to easily create, train, test and use ANNs.

27) Visual Prolog 7 Bindings - Using this binding, you can create neural networks in Visual Prolog, train them, activate or save them in the same file format used by the FANN Library.

28) SWI Prolog Bindings and .NET Bindings and Mathematica Extension and MATLAB Bindings.

29) Octave Extension and Squeak Smalltalk bindings and Pure Data Bindings.

30) RPM package - RPMs is a simple way to manage software packages, and is used on many common Linux distributions such as Red Hat, Mandrake, and SuSE.

31) Debian package - DEBs are packages for the Debian Linux distribution.

System Requirements

Web-based.

Manufacturer

Manufacturer Web Site FANN

Price Contact manufacturer.

G6G Abstract Number 20561

G6G Manufacturer Number 104168