Fast Artificial Neural Network Library is a free open source neural
network library, which implements multilayer artificial neural
networks in C with support for both fully connected and sparsely
connected networks. Cross-platform execution in both fixed and
floating point are 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, Python, Delphi, Octave, Ruby,
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.

AI::FANN object oriented interface provides an almost direct map to the C library API. Some differences have been introduced to make it more perlish:

Two classes are used: AI::FANN that wraps the C struct fann type and AI::FANN::TrainData that wraps struct fann_train_data.

Prefixes and common parts on the C function names referring to those structures have been removed. For instance C fann_train_data_shuffle becomes AI::FANN::TrainData::shuffle that will be usually called as...

$train_data->shuffle;

Pairs of C get/set functions are wrapped in Perl with dual accessor methods named as the attribute (and without any set_/get_ prefix). For instance:

returns a new AI::FANN::TrainData object of the sizes indicated on the arguments. The initial values of the data contained inside the object are random and should be set before using the train data object for training an ANN.

This Perl module is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.