Title: Neural Net Software
Author: Jacobus van Zyl
Email: jvanzyl@cs.sun.ac.za
Date: 13 November 2000
Version: 1.0

======================================================================

Disclaimer:

This software can be copied and used in any way you wish. But I will not be
liable for any damages that may result in the use of this software.

======================================================================


Usage:

Running any of the three programs without any parameters will give a short
usage display.

All three programs require a configuration file. This file defines parameters
and these must be given exactly in the following order:

Learning Data Filename (input) Test Data Filename (input) Sum of Squares error
on training data file (output) Sum of Squares error on test data file (output)
neural net file prefix (output) final run training data file (output) final
run test data file (output) number of layers number of neurons in layer 0
number of neurons in layer 1 number of neurons in layer 2 ...  number of
neurons in layer n number of training examples number of test examples number
of epochs to train learning rate


----------------------------------------------------------------------


trainffnet:

This program is used to train a normal (static) feedforward network on data.
The weights of the networks are saved with a predefined frequency. The final
output is the final network as well as its performance on both the test and
the training data. The sum of squares error for both the test and training set
is also computed each 10 training epochs. This network software uses
incremental backprop to train.

When the network has a large number of weights, training time will become
long. The program can receive two signals (usually via kill). SIGTERM will
terminate the training process gracefully, saving the last network and
producing all the usual output. SIGUSR1 will cause the program to save the
current network as nn.tmp and then continue in its normal way.



----------------------------------------------------------------------


validateffnet:

This program produces output for the input specified in the configfile, for a
given network. It ignores the network specification in the config file, since
it obtains this information from the network file itself.



----------------------------------------------------------------------


validateallffet:

This program will do the same as validateffnet but for all network files with
the prefix specified in the config file. It begins with the specified begin
suffix and terminates just before the specified end suffix.
