The Encog Project

org.encog.neural.networks
Class NeuralStructure

java.lang.Object
  extended by org.encog.neural.networks.NeuralStructure
All Implemented Interfaces:
java.io.Serializable

public class NeuralStructure
extends java.lang.Object
implements java.io.Serializable

Holds "cached" information about the structure of the neural network. This is a very good performance boost since the neural network does not need to traverse itself each time a complete collection of layers or synapses is needed.

Author:
jheaton
See Also:
Serialized Form

Constructor Summary
NeuralStructure(BasicNetwork network)
          Construct a structure object for the specified network.
 
Method Summary
 boolean containsLayerType(java.lang.Class<?> type)
          Determine if the network contains a layer of the specified type.
 void finalizeStructure()
          Build the synapse and layer structure.
 Synapse findSynapse(Layer fromLayer, Layer toLayer, boolean required)
          Find the specified synapse, throw an error if it is required.
 java.util.List<Layer> getLayers()
           
 BasicNetwork getNetwork()
           
 java.util.Collection<Layer> getPreviousLayers(Layer targetLayer)
          Get the previous layers from the specified layer.
 java.util.Collection<Synapse> getPreviousSynapses(Layer targetLayer)
          Get the previous synapses.
 java.util.List<Synapse> getSynapses()
           
 java.util.Collection<java.lang.String> nameLayer(Layer layer)
          Obtain a name for the specified layer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NeuralStructure

public NeuralStructure(BasicNetwork network)
Construct a structure object for the specified network.

Parameters:
network - The network to construct a structure for.
Method Detail

finalizeStructure

public void finalizeStructure()
Build the synapse and layer structure. This method should be called after you are done adding layers to a network, or change the network's logic property.


findSynapse

public Synapse findSynapse(Layer fromLayer,
                           Layer toLayer,
                           boolean required)
Find the specified synapse, throw an error if it is required.

Parameters:
fromLayer - The from layer.
toLayer - The to layer.
required - Is this required?
Returns:
The synapse, if it exists, otherwise null.

getLayers

public java.util.List<Layer> getLayers()
Returns:
The layers in this neural network.

getNetwork

public BasicNetwork getNetwork()
Returns:
The network this structure belongs to.

getPreviousLayers

public java.util.Collection<Layer> getPreviousLayers(Layer targetLayer)
Get the previous layers from the specified layer.

Parameters:
targetLayer - The target layer.
Returns:
The previous layers.

getPreviousSynapses

public java.util.Collection<Synapse> getPreviousSynapses(Layer targetLayer)
Get the previous synapses.

Parameters:
targetLayer - The layer to get the previous layers from.
Returns:
A collection of synapses.

getSynapses

public java.util.List<Synapse> getSynapses()
Returns:
All synapses in the neural network.

nameLayer

public java.util.Collection<java.lang.String> nameLayer(Layer layer)
Obtain a name for the specified layer.

Parameters:
layer - The layer to name.
Returns:
The name of this layer.

containsLayerType

public boolean containsLayerType(java.lang.Class<?> type)
Determine if the network contains a layer of the specified type.

Parameters:
type - The layer type we are looking for.
Returns:
True if this layer type is present.

The Encog Project