Our goal while working with imperative programming & NN will
start by adding the capacity to train networks directly from Breve. We
will achieve this by adding the necessary functions to the existing
Breve SNNS plugin.
Here are some resources we will need for the job ahead:
To build the stuff we need we will have to, in general terms:
- develop a function that takes an array of numbers and
information about the number of inputs & outputs, and then
writes/appends data in the format required. You can see the general
format of a pattern file via the link for xor.pat.
- This function will have the following signature: int
f(float a[], int inputs, int outputs, char *filename).
- a is an array of floats, which stores the inputs and
outputs that will be written to the file.
- inputs is an integet that indicates how many inputs there
are in this NN/pattern.
- outputs is an integer that indicates how many outputs
there are in this NN/pattern.
- filename is a string that stores the name of the file
where the input patterns are to be written. If the file exists, the
data gets appended to the file. if it doesn't exist, a new file is
created.
- The function returns 1 if successful, or 0 otherwise.
- wrap the SNNS functions that will allow us to load a
pattern file, and train a network based on that. This includes the
following functions: