de.webdings.jannis.neuralnet

Class Coordinator

Known Direct Subclasses:
TrainingCoordinator

public class Coordinator
extends java.lang.Object

Coordinator is used to manage the activites of a feed-forward neural net. In particular it coordinates presenting the neural net with input patterns (utilizing a PatternGiver) and registering the output produced by the net (utilizing a PatternReader.

It also manages the segmentation of time that is needed when simulating a parallel process on a serial machine. This means that a neuron that receives sufficient activation to cause it to fire doesn't fire immediately. It waits for the coordinator to tell it that all expected parts of the net activation has been received. This is needed in almost every net architecture, but especially in feed-forward nets, that feature layers that become active one after the other.
In its current state, Coordinator might be able to do this for other net architectures, I haven't given it much thought, yet. But it is designed for feed-forward nets.

Version:
0.1 10.08.2005

Author:
Stefan Thesing
Website: http://www.webdings.de

Field Summary

PatternGiver
giver
See PatternGiver
Neuron[][]
layers
The layers of the neural net to be coordinated.
PatternReader
reader
See PatternReader

Constructor Summary

Coordinator(NeuralNet net, String fileNameInputPattern)
Coordinator(NeuralNet net, Pattern inputPattern)
Coordinator(NeuralNet net, PatternGiver giver, PatternReader reader)
Coordinator(Neuron layers, String fileNameInputPattern)
Coordinator(Neuron layers, Pattern inputPattern)
Coordinator(Neuron layers, PatternGiver giver, PatternReader reader)

Method Summary

void
clearAll()
Clears all residual activation and memory functions of the neurons in the coordinated net by calling the de.webdings.neuralnet.Neuron.clear()-method of the de.webdings.neuralnet.Neurons contained in the net.
void
savePattern(String filename)
Saves the produced output pattern to a file of the specified filename.
void
start()
Starts presenting the net with the input pattern

Field Details

giver

public PatternGiver giver


layers

public Neuron[][] layers
The layers of the neural net to be coordinated.


reader

public PatternReader reader

Constructor Details

Coordinator

public Coordinator(NeuralNet net,
                   String fileNameInputPattern)
            throws IOException,
                   PatternCreateException

Parameters:
net -
fileNameInputPattern -

Throws:
PatternCreateException -


Coordinator

public Coordinator(NeuralNet net,
                   Pattern inputPattern)

Parameters:
net -
inputPattern -


Coordinator

public Coordinator(NeuralNet net,
                   PatternGiver giver,
                   PatternReader reader)

Parameters:
net -
giver -
reader -


Coordinator

public Coordinator(Neuron layers,
                   String fileNameInputPattern)
            throws IOException,
                   PatternCreateException

Parameters:
layers -
fileNameInputPattern -

Throws:
PatternCreateException -


Coordinator

public Coordinator(Neuron layers,
                   Pattern inputPattern)

Parameters:
layers -
inputPattern -


Coordinator

public Coordinator(Neuron layers,
                   PatternGiver giver,
                   PatternReader reader)

Parameters:
layers -
giver -
reader -

Method Details

clearAll

public void clearAll()
Clears all residual activation and memory functions of the neurons in the coordinated net by calling the de.webdings.neuralnet.Neuron.clear()-method of the de.webdings.neuralnet.Neurons contained in the net.


savePattern

public void savePattern(String filename)
            throws IOException
Saves the produced output pattern to a file of the specified filename.

Parameters:
filename -


start

public void start()
            throws PatternGiverReaderCommunicationException
Starts presenting the net with the input pattern

Throws:
PatternGiverReaderCommunicationException -


Coordinator.java - Copyright (c) 2005 by Stefan Thesing

This file is part of Jannis.

Jannis is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Jannis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Jannis; if not, write to the
Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA



© 2005 by Stefan Thesing;
Verbatim copying and redistribution of this entire page are permitted provided this notice is preserved.