NeurApp 1.1
NeurApp - software for exploring approximation by artificial neural networks on functions of one or two variables.

IG::Neural::NeuralApproximatorDtoBase< Type > Class Template Reference

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

List of all members.

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.
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.

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.
VectorDtoBase ToleranceRmsRelativeToRange
 Relative tolerances on RMS errors of outputs over training points, relative to the correspoinding ranges of output data.
double ToleranceRmsRelativeToRangeScalar
 Scalar through which all components of the Relative tolerances on RMS errors of outputs can be set to the same value.
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.
VectorDtoBase ToleranceMaxRelativeToRange
 Relative tolerances on max. abs. errors of outputs over training points, relative to the correspoinding ranges of output data.
double ToleranceMaxRelativeToRangeScalar
 Scalar through which all components of the Relative tolerances on max. abs. errors of outputs can be set to the same value.
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.
override void CopyFromPlain (INeuralApproximator obj)
 Copies data from the specified neural approximator object to the current DTO (data transfer object).
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.

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.
int OutputLevel [get, set]
 Level of information that is output to the console by some methods.

Private Attributes

int _outputLevel = Util.OutputLevel
bool _restoreInternalState = true

Detailed Description

template<Type>
class IG::Neural::NeuralApproximatorDtoBase< Type >

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

Type Constraints
Type :class 
Type :INeuralApproximator 

Member Function Documentation

template<Type >
bool IG::Neural::NeuralApproximatorDtoBase< Type >::IsAppropriateType ( INeuralApproximator  obj) [inline, protected]

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:
template<Type >
void IG::Neural::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.
template<Type >
bool IG::Neural::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.

template<Type >
override void IG::Neural::NeuralApproximatorDtoBase< Type >::CopyFromPlain ( INeuralApproximator  obj) [inline, protected]

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.

template<Type >
override void IG::Neural::NeuralApproximatorDtoBase< Type >::CopyToPlain ( ref INeuralApproximator  obj) [inline, protected]

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

template<Type >
int IG::Neural::NeuralApproximatorDtoBase< Type >::InputLength
template<Type >
double IG::Neural::NeuralApproximatorDtoBase< Type >::LearningRate
template<Type >
double IG::Neural::NeuralApproximatorDtoBase< Type >::Momentum
template<Type >
SampledDataSetDto IG::Neural::NeuralApproximatorDtoBase< Type >::TrainingData
template<Type >
IndexListDto IG::Neural::NeuralApproximatorDtoBase< Type >::VerificationIndices
template<Type >
int IG::Neural::NeuralApproximatorDtoBase< Type >::MaxEpochs
template<Type >
VectorDtoBase IG::Neural::NeuralApproximatorDtoBase< Type >::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.

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

See also:
NeuralApproximatorBase.ToleranceRmsRelativeToRange

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
template<Type >
VectorDtoBase IG::Neural::NeuralApproximatorDtoBase< Type >::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.

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

See also:
NeuralApproximatorBase.ToleranceMaxRelativeToRange

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
template<Type >
BoundingBoxDtoBase IG::Neural::NeuralApproximatorDtoBase< Type >::InputDataBounds
template<Type >
BoundingBoxDtoBase IG::Neural::NeuralApproximatorDtoBase< Type >::OutputDataBounds
template<Type >
BoundingBoxDtoBase IG::Neural::NeuralApproximatorDtoBase< Type >::InputNeuronsRange
template<Type >
BoundingBoxDtoBase IG::Neural::NeuralApproximatorDtoBase< Type >::OutputNeuronsRange
template<Type >
VectorDtoBase [] IG::Neural::NeuralApproximatorDtoBase< Type >::ConvergenceListRms
template<Type >
int [] IG::Neural::NeuralApproximatorDtoBase< Type >::EpochNumbers
template<Type >
int IG::Neural::NeuralApproximatorDtoBase< Type >::_outputLevel = Util.OutputLevel [private]
template<Type >
bool IG::Neural::NeuralApproximatorDtoBase< Type >::_restoreInternalState = true [private]

Property Documentation

template<Type >
VectorDtoBase IG::Neural::NeuralApproximatorDtoBase< Type >::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.

template<Type >
int IG::Neural::NeuralApproximatorDtoBase< Type >::OutputLevel [get, set, private]

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


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties