C# Class Encog.Neural.Networks.Training.Concurrent.ConcurrentTrainingManager

Concurrent training manager. This class allows you to queue up network training tasks to be executed either by the CPU cores or OpenCL devices. This allows the CPU/GPU to train neural networks at the same time.
Afficher le fichier Open project: encog/encog-silverlight-core

Méthodes publiques

Méthode Description
AddPerformer ( IConcurrentTrainingPerformer performer ) : void

Add a performer.

AddTrainingJob ( TrainingJob job ) : void

Add a training job.

ClearPerformers ( ) : void

Clear all of the performers.

ClearQueue ( ) : void

Clear the workload.

DetectPerformers ( ) : void

Detect performers. Create one performer for each OpenCL device, and another for the CPU's. If there is an OpenCL device already for the CPU, do not create another CPU performer.

DetectPerformers ( bool splitCores, int forceCoreCount ) : void

Detect performers. Create one performer for each OpenCL device, and another for the CPU's. If there is an OpenCL device already for the CPU, do not create another CPU performer.

JobDone ( long time, ConcurrentTrainingPerformerCPU perf ) : void

Report that a job is done.

Join ( ) : void

Wait for all tasks to finish.

Run ( ) : void

Perform the training. Called internally.

Start ( ) : void

Start the manager.

ToString ( ) : String
WaitForFreePerformer ( TrainingJob job ) : IConcurrentTrainingPerformer

Wait for a free performer.

Private Methods

Méthode Description
ConcurrentTrainingManager ( ) : System

Private constructor.

ReportErrors ( ) : void

If an error has been reported, then throw it as an exception.

ReportStatus ( String str ) : void

Report the status.

Method Details

AddPerformer() public méthode

Add a performer.
public AddPerformer ( IConcurrentTrainingPerformer performer ) : void
performer IConcurrentTrainingPerformer The performer to add.
Résultat void

AddTrainingJob() public méthode

Add a training job.
public AddTrainingJob ( TrainingJob job ) : void
job Encog.Neural.Networks.Training.Concurrent.Jobs.TrainingJob The training job to add.
Résultat void

ClearPerformers() public méthode

Clear all of the performers.
public ClearPerformers ( ) : void
Résultat void

ClearQueue() public méthode

Clear the workload.
public ClearQueue ( ) : void
Résultat void

DetectPerformers() public méthode

Detect performers. Create one performer for each OpenCL device, and another for the CPU's. If there is an OpenCL device already for the CPU, do not create another CPU performer.
public DetectPerformers ( ) : void
Résultat void

DetectPerformers() public méthode

Detect performers. Create one performer for each OpenCL device, and another for the CPU's. If there is an OpenCL device already for the CPU, do not create another CPU performer.
public DetectPerformers ( bool splitCores, int forceCoreCount ) : void
splitCores bool True, if a CPU performer should be created for each core.
forceCoreCount int The core count to be forced.
Résultat void

JobDone() public méthode

Report that a job is done.
public JobDone ( long time, ConcurrentTrainingPerformerCPU perf ) : void
time long Time took by the job.
perf Encog.Neural.Networks.Training.Concurrent.Performers.ConcurrentTrainingPerformerCPU The perfofmer that did the job.
Résultat void

Join() public méthode

Wait for all tasks to finish.
public Join ( ) : void
Résultat void

Run() public méthode

Perform the training. Called internally.
public Run ( ) : void
Résultat void

Start() public méthode

Start the manager.
public Start ( ) : void
Résultat void

ToString() public méthode

public ToString ( ) : String
Résultat String

WaitForFreePerformer() public méthode

Wait for a free performer.
public WaitForFreePerformer ( TrainingJob job ) : IConcurrentTrainingPerformer
job TrainingJob
Résultat IConcurrentTrainingPerformer