The BPANNA is a flexible Back propagation neural network in C++ with GUI.
NOTE: Older versions of bpanna can be found at https://sourceforge.net/projects/bpanna/
Very fast
C++
Levenberg-Marquardt
Conjugate Gradient
Step Descent
Arbritrary number of layers
Multiple outputs
Graphical user interface
Graphical error
Graphical structure editor
Spreadsheet data table
More information:
https://sites.google.com/site/eetorres/anna
Project stucture
include: head files fws: FLUID GUI development workspace prg: test source codes programs src: source files gui: FLTK GUI interface (automatically generated by FLUID) obj: temporal object files bin: executable example programs
Compilation instructions
Copy the compress file wherever you want to compile and untar it
$ tar -xvzf fl_anna.tar.gz
$ cd fl_anna
$ make
you will find a test programs in the "bin" directory just type
./bpanna
for no GUI interface or,
./fl_bpann
for a FLTK GUI application
DOCUMENTATION:
read_data_file(file); load a data file
set_output(no); Set number of outputs (no)
set_input(ni); Set number of inputs (ni)
set_layers(nl); Set number of layers (nl)
create(); create the neural network framework
set_neurons_in_layer(l,n); Set number (n) of neurons of the layer (l)
select_training_algorithm(b); true = Levenverg-Maquardt (LM), false = Conjugate gradient (CG) initialize(); initialize the neural network weights
set_alpha(alpha); this is the CG learning rate
set_mu(mu); this is the LM perturbation factor
training(); one step training
evalue(); evalue the net and give the result in a vector
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
The Artificial Neural Network Architecture (ANNA) is a Back propagation neural network class easy to use with the FLTK library. So you will need to have FLTK-1.3 installed.
You can get FLTK from www.fltk.org
The ANNA class library is compose by the following files:
anna_bpn_net.h anna_bpn_layer.h anna_bpn_neuron.h anna_bpn_net.cxx anna_bpn_layer.cxx anna_bpn_neuron.cxx
The distribution include a demo which should work on Linux systems.
If you want a binary, but only if you really cannot compile it. I can help you to compile it anyway. Send me an email.
So enjoy it!
Edmanuel Torres
eetorres@gmail.com
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
More screenshots: