IGLib  1.5
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
IG.Num.NeuralApproximatorDtoBase< Type > Class Template Reference

A data transfer object (DTO) for neural approximation classes that implement the INeuralApproximator interface. $A Igor Mar11; More...

+ Inheritance diagram for IG.Num.NeuralApproximatorDtoBase< Type >:
+ Collaboration diagram for IG.Num.NeuralApproximatorDtoBase< Type >:

Public Member Functions

 NeuralApproximatorDtoBase ()
 
void SetRestoringInternalState (bool doRestore)
 Sets the flag indicating whether internal state of the (trained) neural network should be restored, if possible, when the contents of the current DTO (data transfer object) is copied to a neural approximator object. Default value of the flag is true. More...
 
bool GetRestoringInternalState ()
 Returns a flag indicating whether internal state of the (trained) neural network should be restored, if possible, when the contents of the current DTO (data transfer object) is copied to a neural approximator object. Default value of the flag is true and can be changed by the SetRestoringInternalState() method. More...
 

Public Attributes

int InputLength
 
int OutputLength
 
int NumHiddenLayers
 
int[] NumHiddenNeurons
 
string NeuralApproximatorType
 
string NetworkStateFilePath
 
string NetworkStateRelativePath
 
double LearningRate
 
double SigmoidAlphaValue
 
double Momentum
 
SampledDataSetDto TrainingData
 
IndexListDto VerificationIndices
 
int MaxEpochs
 
int EpochsInBundle
 
VectorDtoBase ToleranceRms
 Tolerance over RMS error of output over training points. Training will continue until error becomes below tolerance or until maximal number of epochs is reached. If less or equal than 0 then this tolerance is not taken into account. More...
 
VectorDtoBase ToleranceRmsRelativeToRange
 Relative tolerances on RMS errors of outputs over training points, relative to the correspoinding ranges of output data. More...
 
double ToleranceRmsRelativeToRangeScalar
 Scalar through which all components of the Relative tolerances on RMS errors of outputs can be set to the same value. More...
 
VectorDtoBase ToleranceMax
 Tolerance on maximal error of output over training points. Training will continue until error becomes below tolerance or until maximal number of epochs is reached. If less or equal than 0 then this tolerance is not taken into account. More...
 
VectorDtoBase ToleranceMaxRelativeToRange
 Relative tolerances on max. abs. errors of outputs over training points, relative to the correspoinding ranges of output data. More...
 
double ToleranceMaxRelativeToRangeScalar
 Scalar through which all components of the Relative tolerances on max. abs. errors of outputs can be set to the same value. More...
 
double InputBoundsSafetyFactor
 
double OutputBoundsSafetyFactor
 
BoundingBoxDtoBase InputDataBounds
 
BoundingBoxDtoBase OutputDataBounds
 
BoundingBoxDtoBase InputNeuronsRange
 
BoundingBoxDtoBase OutputNeuronsRange
 
bool SaveConvergenceRms
 
VectorDtoBase[] ConvergenceListRms
 
int[] EpochNumbers
 
VectorDtoBase[] ConvergenceErrorsTrainingRmsTable
 
VectorDtoBase[] ConvergenceErrorsTrainingMaxTable
 
VectorDtoBase[] ConvergenceErrorsVerificationRmsTable
 
VectorDtoBase[] ConvergenceErrorsVerificationMaxTable
 

Protected Member Functions

bool IsAppropriateType (INeuralApproximator obj)
 Returns true if the specified neural network approximator object is of a correct type, according to type indicated by the NeuralApproximatorType property, or false otherwise. More...
 
override void CopyFromPlain (INeuralApproximator obj)
 Copies data from the specified neural approximator object to the current DTO (data transfer object). More...
 
override void CopyToPlain (ref INeuralApproximator obj)
 Copies contents of the current DTO (data transfer object) to the specified neural approximator object. If it is indicated on that object that the internal neural network state has been stored to a file then this state is restored from that file, too. This enables saving of trained networks for future use. More...
 

Properties

VectorDtoBase ToleranceRMS [get, set]
 Variable with old name, which is kept here for compatibility of files that were created by serialization in previous versions of code. More...
 
int OutputLevel [get, set]
 Level of information that is output to the console by some methods. More...
 

Private Attributes

int _outputLevel = Util.OutputLevel
 
bool _restoreInternalState = true
 

Detailed Description

A data transfer object (DTO) for neural approximation classes that implement the INeuralApproximator interface. $A Igor Mar11;

Type Constraints
Type :class 
Type :INeuralApproximator 

Constructor & Destructor Documentation

Member Function Documentation

bool IG.Num.NeuralApproximatorDtoBase< Type >.IsAppropriateType ( INeuralApproximator  obj)
inlineprotected

Returns true if the specified neural network approximator object is of a correct type, according to type indicated by the NeuralApproximatorType property, or false otherwise.

Parameters
objObject whose type is checked.
Returns

References IG.Num.INeuralApproximator.NeuralApproximatorType.

void IG.Num.NeuralApproximatorDtoBase< Type >.SetRestoringInternalState ( bool  doRestore)
inline

Sets the flag indicating whether internal state of the (trained) neural network should be restored, if possible, when the contents of the current DTO (data transfer object) is copied to a neural approximator object. Default value of the flag is true.

Parameters
doRestoreValue of the flag to be set. Default is true.
bool IG.Num.NeuralApproximatorDtoBase< Type >.GetRestoringInternalState ( )
inline

Returns a flag indicating whether internal state of the (trained) neural network should be restored, if possible, when the contents of the current DTO (data transfer object) is copied to a neural approximator object. Default value of the flag is true and can be changed by the SetRestoringInternalState() method.

override void IG.Num.NeuralApproximatorDtoBase< Type >.CopyFromPlain ( INeuralApproximator  obj)
inlineprotected

Copies data from the specified neural approximator object to the current DTO (data transfer object).

Parameters
objObject from which data is copied.

Actual type of the object is also stored. In this way, neural network approximator of the correct type can be created when restoring data from a stored location.

References IG.Num.INeuralApproximator.ConvergenceErrorsTrainingMaxList, IG.Num.INeuralApproximator.ConvergenceErrorsTrainingRmsList, IG.Num.INeuralApproximator.ConvergenceErrorsVerificationMaxList, IG.Num.INeuralApproximator.ConvergenceErrorsVerificationRmsList, IG.Num.INeuralApproximator.EpochNumbers, IG.Num.INeuralApproximator.EpochsInBundle, IG.Num.INeuralApproximator.GetNumNeuronsInHiddenLayer(), IG.Num.INeuralApproximator.InputBoundsSafetyFactor, IG.Num.INeuralApproximator.InputDataBounds, IG.Num.INeuralApproximator.InputLength, IG.Num.INeuralApproximator.InputNeuronsRange, IG.Num.INeuralApproximator.LearningRate, IG.Lib.ILockable.Lock, IG.Num.INeuralApproximator.MaxEpochs, IG.Num.INeuralApproximator.Momentum, IG.Num.INeuralApproximator.NetworkStateFilePath, IG.Num.INeuralApproximator.NetworkStateRelativePath, IG.Num.INeuralApproximator.NeuralApproximatorType, IG.Num.INeuralApproximator.NumHiddenLayers, IG.Num.INeuralApproximator.OutputBoundsSafetyFactor, IG.Num.INeuralApproximator.OutputDataBounds, IG.Num.INeuralApproximator.OutputLength, IG.Num.INeuralApproximator.OutputLevel, IG.Num.INeuralApproximator.OutputNeuronsRange, IG.Num.INeuralApproximator.SaveConvergenceRms, IG.Num.INeuralApproximator.SigmoidAlphaValue, IG.Num.INeuralApproximator.ToleranceMax, IG.Num.INeuralApproximator.ToleranceMaxRelativeToRange, IG.Num.INeuralApproximator.ToleranceMaxRelativeToRangeScalar, IG.Num.INeuralApproximator.ToleranceRms, IG.Num.INeuralApproximator.ToleranceRmsRelativeToRange, IG.Num.INeuralApproximator.ToleranceRmsRelativeToRangeScalar, IG.Num.INeuralApproximator.TrainingData, and IG.Num.INeuralApproximator.VerificationIndices.

override void IG.Num.NeuralApproximatorDtoBase< Type >.CopyToPlain ( ref INeuralApproximator  obj)
inlineprotected

Copies contents of the current DTO (data transfer object) to the specified neural approximator object. If it is indicated on that object that the internal neural network state has been stored to a file then this state is restored from that file, too. This enables saving of trained networks for future use.

Parameters
objNeural network approximator object where data is stored.

Member Data Documentation

int IG.Num.NeuralApproximatorDtoBase< Type >.InputLength
int IG.Num.NeuralApproximatorDtoBase< Type >.OutputLength
int IG.Num.NeuralApproximatorDtoBase< Type >.NumHiddenLayers
int [] IG.Num.NeuralApproximatorDtoBase< Type >.NumHiddenNeurons
string IG.Num.NeuralApproximatorDtoBase< Type >.NeuralApproximatorType
string IG.Num.NeuralApproximatorDtoBase< Type >.NetworkStateFilePath
string IG.Num.NeuralApproximatorDtoBase< Type >.NetworkStateRelativePath
double IG.Num.NeuralApproximatorDtoBase< Type >.LearningRate
double IG.Num.NeuralApproximatorDtoBase< Type >.SigmoidAlphaValue
double IG.Num.NeuralApproximatorDtoBase< Type >.Momentum
IndexListDto IG.Num.NeuralApproximatorDtoBase< Type >.VerificationIndices
int IG.Num.NeuralApproximatorDtoBase< Type >.MaxEpochs
int IG.Num.NeuralApproximatorDtoBase< Type >.EpochsInBundle

Tolerance over RMS error of output over training points. Training will continue until error becomes below tolerance or until maximal number of epochs is reached. If less or equal than 0 then this tolerance is not taken into account.

VectorDtoBase IG.Num.NeuralApproximatorDtoBase< Type >.ToleranceRmsRelativeToRange

Relative tolerances on RMS errors of outputs over training points, relative to the correspoinding ranges of output data.

See also
NeuralApproximatorBase.ToleranceRmsRelativeToRange
double IG.Num.NeuralApproximatorDtoBase< Type >.ToleranceRmsRelativeToRangeScalar

Scalar through which all components of the Relative tolerances on RMS errors of outputs can be set to the same value.

See also
NeuralApproximatorBase.ToleranceRmsRelativeToRangeScalar

Tolerance on maximal error of output over training points. Training will continue until error becomes below tolerance or until maximal number of epochs is reached. If less or equal than 0 then this tolerance is not taken into account.

VectorDtoBase IG.Num.NeuralApproximatorDtoBase< Type >.ToleranceMaxRelativeToRange

Relative tolerances on max. abs. errors of outputs over training points, relative to the correspoinding ranges of output data.

See also
NeuralApproximatorBase.ToleranceMaxRelativeToRange
double IG.Num.NeuralApproximatorDtoBase< Type >.ToleranceMaxRelativeToRangeScalar

Scalar through which all components of the Relative tolerances on max. abs. errors of outputs can be set to the same value.

See also
NeuralApproximatorBase.ToleranceMaxRelativeToRangeScalar
double IG.Num.NeuralApproximatorDtoBase< Type >.InputBoundsSafetyFactor
double IG.Num.NeuralApproximatorDtoBase< Type >.OutputBoundsSafetyFactor
bool IG.Num.NeuralApproximatorDtoBase< Type >.SaveConvergenceRms
VectorDtoBase [] IG.Num.NeuralApproximatorDtoBase< Type >.ConvergenceListRms
int [] IG.Num.NeuralApproximatorDtoBase< Type >.EpochNumbers
VectorDtoBase [] IG.Num.NeuralApproximatorDtoBase< Type >.ConvergenceErrorsTrainingRmsTable
VectorDtoBase [] IG.Num.NeuralApproximatorDtoBase< Type >.ConvergenceErrorsTrainingMaxTable
VectorDtoBase [] IG.Num.NeuralApproximatorDtoBase< Type >.ConvergenceErrorsVerificationRmsTable
VectorDtoBase [] IG.Num.NeuralApproximatorDtoBase< Type >.ConvergenceErrorsVerificationMaxTable
int IG.Num.NeuralApproximatorDtoBase< Type >._outputLevel = Util.OutputLevel
private
bool IG.Num.NeuralApproximatorDtoBase< Type >._restoreInternalState = true
private

Property Documentation

VectorDtoBase IG.Num.NeuralApproximatorDtoBase< Type >.ToleranceRMS
getset

Variable with old name, which is kept here for compatibility of files that were created by serialization in previous versions of code.

int IG.Num.NeuralApproximatorDtoBase< Type >.OutputLevel
getsetprivate

Level of information that is output to the console by some methods.


The documentation for this class was generated from the following file: