C# 클래스 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.
상속: ITrainFlatNetwork
파일 보기 프로젝트 열기: encog/encog-silverlight-core 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
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[]

공개 메소드들

메소드 설명
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.

보호된 메소드들

메소드 설명
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.

비공개 메소드들

메소드 설명
CopyContexts ( ) : void

Copy the contexts to keep them consistent with multithreaded training.

Init ( ) : void

메소드 상세

CalculateGradients() 공개 메소드

Calculatee the gradients.
public CalculateGradients ( ) : void
리턴 void

FinishTraining() 공개 메소드

public FinishTraining ( ) : void
리턴 void

Iteration() 공개 메소드

public Iteration ( ) : void
리턴 void

Iteration() 공개 메소드

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.
리턴 void

Learn() 보호된 메소드

Apply and learn.
protected Learn ( ) : void
리턴 void

LearnLimited() 보호된 메소드

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
리턴 void

Report() 공개 메소드

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.
리턴 void

TrainFlatNetworkProp() 공개 메소드

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.
리턴 Encog.Engine

UpdateWeight() 공개 추상적인 메소드

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.
리턴 double

프로퍼티 상세

currentError 보호되어 있는 프로퍼티

The current error is the average error over all of the threads.
protected double currentError
리턴 double

gradients 보호되어 있는 프로퍼티

The gradients.
protected double[] gradients
리턴 double[]

indexable 보호되어 있는 프로퍼티

The network in indexable form.
protected IEngineIndexableSet indexable
리턴 IEngineIndexableSet

iteration 보호되어 있는 프로퍼티

The iteration.
protected int iteration
리턴 int

lastGradient 보호되어 있는 프로퍼티

The last gradients, from the last training iteration.
protected double[] lastGradient
리턴 double[]

network 보호되어 있는 프로퍼티

The network to train.
protected FlatNetwork,Encog.Engine.Network.Flat network
리턴 Encog.Engine.Network.Flat.FlatNetwork

numThreads 보호되어 있는 프로퍼티

The number of threads to use.
protected int numThreads
리턴 int

reportedException 보호되어 있는 프로퍼티

Reported exception from the threads.
protected Exception,System reportedException
리턴 System.Exception

totalError 보호되어 있는 프로퍼티

The total error. Used to take the average of.
protected double totalError
리턴 double

training 보호되어 있는 프로퍼티

The training data.
protected IEngineDataSet training
리턴 IEngineDataSet

workers 보호되어 있는 프로퍼티

The workers.
protected IFlatGradientWorker[] workers
리턴 IFlatGradientWorker[]