![]() |
Neuron Net
|
Class of pooling layer GPU calculation. More...
Public Member Functions | |
CNeuronProofOCL (void) | |
Constructor. More... | |
~CNeuronProofOCL (void) | |
Destructor. More... | |
virtual bool | Init (uint numOutputs, uint myIndex, COpenCLMy *open_cl, int window, int step, int units_count, ENUM_OPTIMIZATION optimization_type) |
Method of initialization class. More... | |
virtual bool | calcInputGradients (CNeuronBaseOCL *NeuronOCL) |
Method to transfer gradients to previous layer. More... | |
virtual bool | Save (int const file_handle) |
Save method. More... | |
virtual bool | Load (int const file_handle) |
Load method. More... | |
virtual int | Type (void) const |
Identificator of class. More... | |
virtual bool | Init (uint numOutputs, uint myIndex, COpenCLMy *open_cl, uint numNeurons, ENUM_OPTIMIZATION optimization_type) |
Method of initialization class. More... | |
virtual void | SetActivationFunction (ENUM_ACTIVATION value) |
Set the type of activation function (ENUM_ACTIVATION) More... | |
virtual int | getOutputIndex (void) |
Get index of output buffer. More... | |
virtual int | getPrevOutIndex (void) |
Get index of previous iteration output buffer. More... | |
virtual int | getGradientIndex (void) |
Get index of gradient buffer. More... | |
virtual int | getWeightsIndex (void) |
Get index of weights matrix buffer. More... | |
virtual int | getDeltaWeightsIndex (void) |
Get index of delta weights matrix buffer (SGD) More... | |
virtual int | getFirstMomentumIndex (void) |
Get index of first momentum matrix buffer (Adam) More... | |
virtual int | getSecondMomentumIndex (void) |
Get index of Second momentum matrix buffer (Adam) More... | |
virtual int | getOutputVal (double &values[]) |
Get values of output buffer. More... | |
virtual int | getOutputVal (CArrayDouble *values) |
Get values of output buffer. More... | |
virtual int | getPrevVal (double &values[]) |
Get values of previous iteration output buffer. More... | |
virtual int | getGradient (double &values[]) |
Get values of gradient buffer. More... | |
virtual int | getWeights (double &values[]) |
Get values of weights matrix buffer. More... | |
virtual int | Neurons (void) |
Get number of neurons in layer. More... | |
virtual int | Activation (void) |
Get type of activation function. More... | |
virtual int | getConnections (void) |
Get number of connections 1 neuron to next layer. More... | |
virtual bool | FeedForward (CObject *SourceObject) |
Dispatch method for defining the subroutine for feed forward process. More... | |
virtual bool | calcHiddenGradients (CObject *TargetObject) |
Dispatch method for defining the subroutine for transferring the gradient to the previous layer. More... | |
virtual bool | calcHiddenGradients (CNeuronBaseOCL *NeuronOCL) |
Method to transfer gradient to previous layer by calling kernel CalcHiddenGradient(). More... | |
virtual bool | UpdateInputWeights (CObject *SourceObject) |
Dispatch method for defining the subroutine for updating weights. More... | |
virtual bool | calcOutputGradients (CArrayDouble *Target) |
Method of output gradients calculation by calling kernel CalcOutputGradient(). More... | |
Protected Member Functions | |
virtual bool | feedForward (CNeuronBaseOCL *NeuronOCL) |
Feed Forward method. More... | |
virtual bool | updateInputWeights (CNeuronBaseOCL *NeuronOCL) |
Protected Attributes | |
uint | iWindow |
Input window size. More... | |
uint | iStep |
Size of step. More... | |
COpenCLMy * | OpenCL |
Object for working with OpenCL. More... | |
CBufferDouble * | Output |
Buffer of Output tenzor. More... | |
CBufferDouble * | PrevOutput |
Buffer of previous iteration Output tenzor. More... | |
CBufferDouble * | Weights |
Buffer of weights matrix. More... | |
CBufferDouble * | DeltaWeights |
Buffer of last delta weights matrix (SGD) More... | |
CBufferDouble * | Gradient |
Buffer of gradient tenzor. More... | |
CBufferDouble * | FirstMomentum |
Buffer of first momentum matrix (ADAM) More... | |
CBufferDouble * | SecondMomentum |
Buffer of second momentum matrix (ADAM) More... | |
const double | alpha |
Multiplier to momentum in SGD optimization. More... | |
int | t |
Count of iterations. More... | |
int | m_myIndex |
Index of neuron in layer. More... | |
ENUM_ACTIVATION | activation |
Activation type (ENUM_ACTIVATION) More... | |
ENUM_OPTIMIZATION | optimization |
Optimization method (ENUM_OPTIMIZATION) More... | |
Class of pooling layer GPU calculation.
Definition at line 3543 of file NeuroNet.mqh.
|
inline |
Constructor.
Definition at line 3552 of file NeuroNet.mqh.
CNeuronProofOCL::~CNeuronProofOCL | ( | void | ) |
Destructor.
Definition at line 3578 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Get type of activation function.
Definition at line 2973 of file NeuroNet.mqh.
|
virtualinherited |
Dispatch method for defining the subroutine for transferring the gradient to the previous layer.
TargetObject | Pointer to the next layer. |
Definition at line 3328 of file NeuroNet.mqh.
|
virtual |
Method to transfer gradients to previous layer.
[in] | NeuronOCL | Pointer to previous layer. |
Reimplemented in CNeuronConvOCL.
Definition at line 3608 of file NeuroNet.mqh.
|
protectedvirtual |
Feed Forward method.
NeuronOCL | Pointer to previos layer. |
Reimplemented from CNeuronBaseOCL.
Reimplemented in CNeuronConvOCL.
Definition at line 3584 of file NeuroNet.mqh.
|
virtualinherited |
Dispatch method for defining the subroutine for feed forward process.
SourceObject | Pointer to the previous layer. |
Definition at line 3151 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Get number of connections 1 neuron to next layer.
Definition at line 2974 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Get index of delta weights matrix buffer (SGD)
Definition at line 2963 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Get index of first momentum matrix buffer (Adam)
Definition at line 2964 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Get values of gradient buffer.
[out] | values | Array of data |
Definition at line 2970 of file NeuroNet.mqh.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
Get values of output buffer.
[out] | values | Array of data |
Definition at line 2968 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Get values of output buffer.
[out] | values | Array of data |
Definition at line 2967 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Get index of previous iteration output buffer.
Definition at line 2960 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Get values of previous iteration output buffer.
[out] | values | Array of data |
Definition at line 2969 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Get index of Second momentum matrix buffer (Adam)
Definition at line 2965 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Get values of weights matrix buffer.
[out] | values | Array of data |
Definition at line 2971 of file NeuroNet.mqh.
|
inlinevirtualinherited |
|
virtual |
Method of initialization class.
[in] | numOutputs | Number of connections to next layer. |
[in] | myIndex | Index of neuron in layer. |
[in] | open_cl | Pointer to COpenCLMy object. |
[in] | window | Size of input window |
[in] | step | Step size. |
[in] | units_countNumber | of neurons. |
[in] | optimization_type | Optimization type (ENUM_OPTIMIZATION) |
Definition at line 3566 of file NeuroNet.mqh.
|
virtualinherited |
Method of initialization class.
[in] | numOutputs | Number of connections to next layer. |
[in] | myIndex | Index of neuron in layer. |
[in] | open_cl | Pointer to COpenCLMy object. #param[in] numNeurons Number of neurons in layer |
optimization_type | Optimization type (ENUM_OPTIMIZATION) |
Definition at line 3031 of file NeuroNet.mqh.
|
virtual |
Load method.
[in] | file_handle | handle of file |
Reimplemented from CNeuronBaseOCL.
Reimplemented in CNeuronConvOCL.
Definition at line 4472 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Get number of neurons in layer.
Definition at line 2972 of file NeuroNet.mqh.
|
virtual |
Save method.
[in] | file_handle | handle of file |
Reimplemented from CNeuronBaseOCL.
Reimplemented in CNeuronConvOCL.
Definition at line 4458 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Set the type of activation function (ENUM_ACTIVATION)
Definition at line 2957 of file NeuroNet.mqh.
|
inlinevirtual |
Identificator of class.
Reimplemented from CNeuronBaseOCL.
Reimplemented in CNeuronConvOCL.
Definition at line 3561 of file NeuroNet.mqh.
|
protectedinherited |
Activation type (ENUM_ACTIVATION)
Definition at line 2943 of file NeuroNet.mqh.
|
protectedinherited |
Multiplier to momentum in SGD optimization.
Definition at line 2939 of file NeuroNet.mqh.
|
protectedinherited |
Buffer of last delta weights matrix (SGD)
Definition at line 2933 of file NeuroNet.mqh.
|
protectedinherited |
Buffer of first momentum matrix (ADAM)
Definition at line 2935 of file NeuroNet.mqh.
|
protectedinherited |
Buffer of gradient tenzor.
Definition at line 2934 of file NeuroNet.mqh.
|
protected |
Size of step.
Definition at line 3547 of file NeuroNet.mqh.
|
protected |
Input window size.
Definition at line 3546 of file NeuroNet.mqh.
|
protectedinherited |
Index of neuron in layer.
Definition at line 2942 of file NeuroNet.mqh.
|
protectedinherited |
Object for working with OpenCL.
Definition at line 2929 of file NeuroNet.mqh.
|
protectedinherited |
Optimization method (ENUM_OPTIMIZATION)
Definition at line 2944 of file NeuroNet.mqh.
|
protectedinherited |
Buffer of Output tenzor.
Definition at line 2930 of file NeuroNet.mqh.
|
protectedinherited |
Buffer of previous iteration Output tenzor.
Definition at line 2931 of file NeuroNet.mqh.
|
protectedinherited |
Buffer of second momentum matrix (ADAM)
Definition at line 2936 of file NeuroNet.mqh.
|
protectedinherited |
Count of iterations.
Definition at line 2940 of file NeuroNet.mqh.
|
protectedinherited |
Buffer of weights matrix.
Definition at line 2932 of file NeuroNet.mqh.