C# Class Encog.Engine.Network.Train.Prop.TrainFlatNetworkProp

Train a flat network using multithreading, and GPU support. The training data must be indexable, it will be broken into groups for each thread to process. At the end of each iteration the training from each thread is aggregated back to the neural network.
Inheritance: ITrainFlatNetwork
Afficher le fichier Open project: encog/encog-silverlight-core Class Usage Examples

Protected Properties

Свойство Type Description
currentError double
gradients double[]
indexable IEngineIndexableSet
iteration int
lastGradient double[]
network Encog.Engine.Network.Flat.FlatNetwork
numThreads int
reportedException System.Exception
totalError double
training IEngineDataSet
workers IFlatGradientWorker[]

Méthodes publiques

Méthode Description
CalculateGradients ( ) : void

Calculatee the gradients.

FinishTraining ( ) : void
Iteration ( ) : void
Iteration ( int count ) : void

Perform the specified number of training iterations. This is a basic implementation that just calls iteration the specified number of times. However, some training methods, particularly with the GPU, benefit greatly by calling with higher numbers than 1.

Report ( double gradients, double error, Exception ex ) : void

Called by the worker threads to report the progress at each step.

TrainFlatNetworkProp ( FlatNetwork network, IEngineDataSet training ) : Encog.Engine

Train a flat network multithreaded.

UpdateWeight ( double gradient, double lastGradient, int index ) : double

Update a weight, the means by which weights are updated vary depending on the training.

Méthodes protégées

Méthode Description
Learn ( ) : void

Apply and learn.

LearnLimited ( ) : void

Apply and learn. This is the same as learn, but it checks to see if any of the weights are below the limit threshold. In this case, these weights are zeroed out. Having two methods allows the regular learn method, which is what is usually use, to be as fast as possible.

Private Methods

Méthode Description
CopyContexts ( ) : void

Copy the contexts to keep them consistent with multithreaded training.

Init ( ) : void

Method Details

CalculateGradients() public méthode

Calculatee the gradients.
public CalculateGradients ( ) : void
Résultat void

FinishTraining() public méthode

public FinishTraining ( ) : void
Résultat void

Iteration() public méthode

public Iteration ( ) : void
Résultat void

Iteration() public méthode

Perform the specified number of training iterations. This is a basic implementation that just calls iteration the specified number of times. However, some training methods, particularly with the GPU, benefit greatly by calling with higher numbers than 1.
public Iteration ( int count ) : void
count int The number of training iterations.
Résultat void

Learn() protected méthode

Apply and learn.
protected Learn ( ) : void
Résultat void

LearnLimited() protected méthode

Apply and learn. This is the same as learn, but it checks to see if any of the weights are below the limit threshold. In this case, these weights are zeroed out. Having two methods allows the regular learn method, which is what is usually use, to be as fast as possible.
protected LearnLimited ( ) : void
Résultat void

Report() public méthode

Called by the worker threads to report the progress at each step.
public Report ( double gradients, double error, Exception ex ) : void
gradients double The gradients from that worker.
error double The error for that worker.
ex System.Exception The exception.
Résultat void

TrainFlatNetworkProp() public méthode

Train a flat network multithreaded.
public TrainFlatNetworkProp ( FlatNetwork network, IEngineDataSet training ) : Encog.Engine
network Encog.Engine.Network.Flat.FlatNetwork The network to train.
training IEngineDataSet The training data to use.
Résultat Encog.Engine

UpdateWeight() public abstract méthode

Update a weight, the means by which weights are updated vary depending on the training.
public abstract UpdateWeight ( double gradient, double lastGradient, int index ) : double
gradient double The gradients.
lastGradient double The last gradients.
index int The index.
Résultat double

Property Details

currentError protected_oe property

The current error is the average error over all of the threads.
protected double currentError
Résultat double

gradients protected_oe property

The gradients.
protected double[] gradients
Résultat double[]

indexable protected_oe property

The network in indexable form.
protected IEngineIndexableSet indexable
Résultat IEngineIndexableSet

iteration protected_oe property

The iteration.
protected int iteration
Résultat int

lastGradient protected_oe property

The last gradients, from the last training iteration.
protected double[] lastGradient
Résultat double[]

network protected_oe property

The network to train.
protected FlatNetwork,Encog.Engine.Network.Flat network
Résultat Encog.Engine.Network.Flat.FlatNetwork

numThreads protected_oe property

The number of threads to use.
protected int numThreads
Résultat int

reportedException protected_oe property

Reported exception from the threads.
protected Exception,System reportedException
Résultat System.Exception

totalError protected_oe property

The total error. Used to take the average of.
protected double totalError
Résultat double

training protected_oe property

The training data.
protected IEngineDataSet training
Résultat IEngineDataSet

workers protected_oe property

The workers.
protected IFlatGradientWorker[] workers
Résultat IFlatGradientWorker[]