|
ROOT 6.14/05 Reference Guide |
Definition at line 55 of file RNNLayer.h.
Public Types | |
| using | Matrix_t = typename Architecture_t::Matrix_t |
| using | Scalar_t = typename Architecture_t::Scalar_t |
| using | Tensor_t = std::vector< Matrix_t > |
Public Member Functions | |
| TBasicRNNLayer (size_t batchSize, size_t stateSize, size_t inputSize, size_t timeSteps, bool rememberState=false, DNN::EActivationFunction f=DNN::EActivationFunction::kTanh, bool training=true, DNN::EInitialization fA=DNN::EInitialization::kZero) | |
| Constructor. More... | |
| TBasicRNNLayer (const TBasicRNNLayer &) | |
| Copy Constructor. More... | |
| virtual void | AddWeightsXMLTo (void *parent) |
| Writes the information and the weights about the layer in an XML node. More... | |
| void | Backward (Tensor_t &gradients_backward, const Tensor_t &activations_backward, std::vector< Matrix_t > &inp1, std::vector< Matrix_t > &inp2) |
| Backpropagates the error. More... | |
| Matrix_t & | CellBackward (Matrix_t &state_gradients_backward, const Matrix_t &precStateActivations, const Matrix_t &input, Matrix_t &input_gradient, Matrix_t &dF) |
| Backward for a single time unit a the corresponding call to Forward(...). More... | |
| void | CellForward (const Matrix_t &input, Matrix_t &dF) |
| Forward for a single cell (time unit) More... | |
| void | Forward (Tensor_t &input, bool isTraining=true) |
| Compute and return the next state with given input matrix. More... | |
| DNN::EActivationFunction | GetActivationFunction () const |
| Matrix_t & | GetBiasesState () |
| const Matrix_t & | GetBiasesState () const |
| Matrix_t & | GetBiasStateGradients () |
| const Matrix_t & | GetBiasStateGradients () const |
| std::vector< Matrix_t > & | GetDerivatives () |
| const std::vector< Matrix_t > & | GetDerivatives () const |
| Matrix_t & | GetDerivativesAt (size_t i) |
| const Matrix_t & | GetDerivativesAt (size_t i) const |
| size_t | GetInputSize () const |
| Matrix_t & | GetState () |
| const Matrix_t & | GetState () const |
| size_t | GetStateSize () const |
| size_t | GetTimeSteps () const |
| Getters. More... | |
| Matrix_t & | GetWeightInputGradients () |
| const Matrix_t & | GetWeightInputGradients () const |
| Matrix_t & | GetWeightsInput () |
| const Matrix_t & | GetWeightsInput () const |
| Matrix_t & | GetWeightsState () |
| const Matrix_t & | GetWeightsState () const |
| Matrix_t & | GetWeightStateGradients () |
| const Matrix_t & | GetWeightStateGradients () const |
| void | InitState (DNN::EInitialization m=DNN::EInitialization::kZero) |
| Initialize the weights according to the given initialization method. More... | |
| bool | IsRememberState () const |
| void | Print () const |
| Prints the info about the layer. More... | |
| virtual void | ReadWeightsFromXML (void *parent) |
| Read the information and the weights about the layer from XML node. More... | |
| void | Update (const Scalar_t learningRate) |
Public Member Functions inherited from TMVA::DNN::VGeneralLayer< Architecture_t > | |
| VGeneralLayer (size_t BatchSize, size_t InputDepth, size_t InputHeight, size_t InputWidth, size_t Depth, size_t Height, size_t Width, size_t WeightsNSlices, size_t WeightsNRows, size_t WeightsNCols, size_t BiasesNSlices, size_t BiasesNRows, size_t BiasesNCols, size_t OutputNSlices, size_t OutputNRows, size_t OutputNCols, EInitialization Init) | |
| Constructor. More... | |
| VGeneralLayer (size_t BatchSize, size_t InputDepth, size_t InputHeight, size_t InputWidth, size_t Depth, size_t Height, size_t Width, size_t WeightsNSlices, std::vector< size_t > WeightsNRows, std::vector< size_t > WeightsNCols, size_t BiasesNSlices, std::vector< size_t > BiasesNRows, std::vector< size_t > BiasesNCols, size_t OutputNSlices, size_t OutputNRows, size_t OutputNCols, EInitialization Init) | |
| General Constructor with different weights dimension. More... | |
| VGeneralLayer (VGeneralLayer< Architecture_t > *layer) | |
| Copy the layer provided as a pointer. More... | |
| VGeneralLayer (const VGeneralLayer &) | |
| Copy Constructor. More... | |
| virtual | ~VGeneralLayer () |
| Virtual Destructor. More... | |
| virtual void | Backward (std::vector< Matrix_t > &gradients_backward, const std::vector< Matrix_t > &activations_backward, std::vector< Matrix_t > &inp1, std::vector< Matrix_t > &inp2)=0 |
| Backpropagates the error. More... | |
| void | CopyBiases (const std::vector< Matrix_t > &otherBiases) |
| Copies the biases provided as an input. More... | |
| void | CopyWeights (const std::vector< Matrix_t > &otherWeights) |
| Copies the weights provided as an input. More... | |
| virtual void | Forward (std::vector< Matrix_t > &input, bool applyDropout=false)=0 |
| Computes activation of the layer for the given input. More... | |
| const std::vector< Matrix_t > & | GetActivationGradients () const |
| std::vector< Matrix_t > & | GetActivationGradients () |
| Matrix_t & | GetActivationGradientsAt (size_t i) |
| const Matrix_t & | GetActivationGradientsAt (size_t i) const |
| size_t | GetBatchSize () const |
| Getters. More... | |
| const std::vector< Matrix_t > & | GetBiases () const |
| std::vector< Matrix_t > & | GetBiases () |
| const Matrix_t & | GetBiasesAt (size_t i) const |
| Matrix_t & | GetBiasesAt (size_t i) |
| const std::vector< Matrix_t > & | GetBiasGradients () const |
| std::vector< Matrix_t > & | GetBiasGradients () |
| const Matrix_t & | GetBiasGradientsAt (size_t i) const |
| Matrix_t & | GetBiasGradientsAt (size_t i) |
| size_t | GetDepth () const |
| size_t | GetHeight () const |
| EInitialization | GetInitialization () const |
| size_t | GetInputDepth () const |
| size_t | GetInputHeight () const |
| size_t | GetInputWidth () const |
| const std::vector< Matrix_t > & | GetOutput () const |
| std::vector< Matrix_t > & | GetOutput () |
| Matrix_t & | GetOutputAt (size_t i) |
| const Matrix_t & | GetOutputAt (size_t i) const |
| const std::vector< Matrix_t > & | GetWeightGradients () const |
| std::vector< Matrix_t > & | GetWeightGradients () |
| const Matrix_t & | GetWeightGradientsAt (size_t i) const |
| Matrix_t & | GetWeightGradientsAt (size_t i) |
| const std::vector< Matrix_t > & | GetWeights () const |
| std::vector< Matrix_t > & | GetWeights () |
| const Matrix_t & | GetWeightsAt (size_t i) const |
| Matrix_t & | GetWeightsAt (size_t i) |
| size_t | GetWidth () const |
| void | Initialize () |
| Initialize the weights and biases according to the given initialization method. More... | |
| bool | IsTraining () const |
| void | ReadMatrixXML (void *node, const char *name, Matrix_t &matrix) |
| void | SetBatchSize (size_t batchSize) |
| Setters. More... | |
| void | SetDepth (size_t depth) |
| void | SetHeight (size_t height) |
| void | SetInputDepth (size_t inputDepth) |
| void | SetInputHeight (size_t inputHeight) |
| void | SetInputWidth (size_t inputWidth) |
| void | SetIsTraining (bool isTraining) |
| void | SetWidth (size_t width) |
| void | Update (const Scalar_t learningRate) |
| Updates the weights and biases, given the learning rate. More... | |
| void | UpdateBiases (const std::vector< Matrix_t > &biasGradients, const Scalar_t learningRate) |
| Updates the biases, given the gradients and the learning rate. More... | |
| void | UpdateBiasGradients (const std::vector< Matrix_t > &biasGradients, const Scalar_t learningRate) |
| Updates the bias gradients, given some other weight gradients and learning rate. More... | |
| void | UpdateWeightGradients (const std::vector< Matrix_t > &weightGradients, const Scalar_t learningRate) |
| Updates the weight gradients, given some other weight gradients and learning rate. More... | |
| void | UpdateWeights (const std::vector< Matrix_t > &weightGradients, const Scalar_t learningRate) |
| Updates the weights, given the gradients and the learning rate,. More... | |
| void | WriteMatrixToXML (void *node, const char *name, const Matrix_t &matrix) |
| void | WriteTensorToXML (void *node, const char *name, const std::vector< Matrix_t > &tensor) |
| helper functions for XML More... | |
Private Attributes | |
| Matrix_t & | fBiases |
| Biases. More... | |
| Matrix_t & | fBiasGradients |
| Gradients w.r.t. the bias values. More... | |
| std::vector< Matrix_t > | fDerivatives |
| First fDerivatives of the activations. More... | |
| DNN::EActivationFunction | fF |
| Activation function of the hidden state. More... | |
| bool | fRememberState |
| Remember state in next pass. More... | |
| Matrix_t | fState |
| Hidden State. More... | |
| size_t | fStateSize |
| Hidden state size of RNN. More... | |
| size_t | fTimeSteps |
| Timesteps for RNN. More... | |
| Matrix_t & | fWeightInputGradients |
| Gradients w.r.t. the input weights. More... | |
| Matrix_t & | fWeightsInput |
| Input weights, fWeights[0]. More... | |
| Matrix_t & | fWeightsState |
| Prev state weights, fWeights[1]. More... | |
| Matrix_t & | fWeightStateGradients |
| Gradients w.r.t. the recurring weights. More... | |
Additional Inherited Members | |
Protected Attributes inherited from TMVA::DNN::VGeneralLayer< Architecture_t > | |
| std::vector< Matrix_t > | fActivationGradients |
| Gradients w.r.t. the activations of this layer. More... | |
| size_t | fBatchSize |
| Batch size used for training and evaluation. More... | |
| std::vector< Matrix_t > | fBiases |
| The biases associated to the layer. More... | |
| std::vector< Matrix_t > | fBiasGradients |
| Gradients w.r.t. the bias values of the layer. More... | |
| size_t | fDepth |
| The depth of the layer. More... | |
| size_t | fHeight |
| The height of the layer. More... | |
| EInitialization | fInit |
| The initialization method. More... | |
| size_t | fInputDepth |
| The depth of the previous layer or input. More... | |
| size_t | fInputHeight |
| The height of the previous layer or input. More... | |
| size_t | fInputWidth |
| The width of the previous layer or input. More... | |
| bool | fIsTraining |
| Flag indicatig the mode. More... | |
| std::vector< Matrix_t > | fOutput |
| Activations of this layer. More... | |
| std::vector< Matrix_t > | fWeightGradients |
| Gradients w.r.t. the weights of the layer. More... | |
| std::vector< Matrix_t > | fWeights |
| The weights associated to the layer. More... | |
| size_t | fWidth |
| The width of this layer. More... | |
#include <TMVA/DNN/RNN/RNNLayer.h>
| using TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::Matrix_t = typename Architecture_t::Matrix_t |
Definition at line 60 of file RNNLayer.h.
| using TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::Scalar_t = typename Architecture_t::Scalar_t |
Definition at line 61 of file RNNLayer.h.
| using TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::Tensor_t = std::vector<Matrix_t> |
Definition at line 62 of file RNNLayer.h.
| TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::TBasicRNNLayer | ( | size_t | batchSize, |
| size_t | stateSize, | ||
| size_t | inputSize, | ||
| size_t | timeSteps, | ||
| bool | rememberState = false, |
||
| DNN::EActivationFunction | f = DNN::EActivationFunction::kTanh, |
||
| bool | training = true, |
||
| DNN::EInitialization | fA = DNN::EInitialization::kZero |
||
| ) |
Constructor.
Definition at line 165 of file RNNLayer.h.
| TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::TBasicRNNLayer | ( | const TBasicRNNLayer< Architecture_t > & | layer | ) |
Copy Constructor.
Definition at line 192 of file RNNLayer.h.
|
virtual |
Writes the information and the weights about the layer in an XML node.
Implements TMVA::DNN::VGeneralLayer< Architecture_t >.
Definition at line 372 of file RNNLayer.h.
|
inline |
Backpropagates the error.
Must only be called directly at the corresponding call to Forward(...).
Definition at line 294 of file RNNLayer.h.
|
inline |
Backward for a single time unit a the corresponding call to Forward(...).
Definition at line 360 of file RNNLayer.h.
|
inline |
Forward for a single cell (time unit)
Definition at line 278 of file RNNLayer.h.
|
inline |
Compute and return the next state with given input matrix.
Definition at line 254 of file RNNLayer.h.
|
inline |
Definition at line 139 of file RNNLayer.h.
|
inline |
Definition at line 150 of file RNNLayer.h.
|
inline |
Definition at line 151 of file RNNLayer.h.
|
inline |
Definition at line 152 of file RNNLayer.h.
|
inline |
Definition at line 153 of file RNNLayer.h.
|
inline |
Definition at line 146 of file RNNLayer.h.
|
inline |
Definition at line 147 of file RNNLayer.h.
|
inline |
Definition at line 148 of file RNNLayer.h.
|
inline |
Definition at line 149 of file RNNLayer.h.
|
inline |
Definition at line 137 of file RNNLayer.h.
|
inline |
Definition at line 140 of file RNNLayer.h.
|
inline |
Definition at line 141 of file RNNLayer.h.
|
inline |
Definition at line 136 of file RNNLayer.h.
|
inline |
Getters.
Definition at line 135 of file RNNLayer.h.
|
inline |
Definition at line 154 of file RNNLayer.h.
|
inline |
Definition at line 155 of file RNNLayer.h.
|
inline |
Definition at line 142 of file RNNLayer.h.
|
inline |
Definition at line 143 of file RNNLayer.h.
|
inline |
Definition at line 144 of file RNNLayer.h.
|
inline |
Definition at line 145 of file RNNLayer.h.
|
inline |
Definition at line 156 of file RNNLayer.h.
|
inline |
Definition at line 157 of file RNNLayer.h.
| auto TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::InitState | ( | DNN::EInitialization | m = DNN::EInitialization::kZero | ) |
Initialize the weights according to the given initialization method.
Initialize the state method.
Definition at line 220 of file RNNLayer.h.
|
inline |
Definition at line 138 of file RNNLayer.h.
|
virtual |
Prints the info about the layer.
Implements TMVA::DNN::VGeneralLayer< Architecture_t >.
Definition at line 227 of file RNNLayer.h.
|
virtual |
Read the information and the weights about the layer from XML node.
Implements TMVA::DNN::VGeneralLayer< Architecture_t >.
Definition at line 392 of file RNNLayer.h.
| void TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::Update | ( | const Scalar_t | learningRate | ) |
|
private |
Biases.
Definition at line 75 of file RNNLayer.h.
|
private |
Gradients w.r.t. the bias values.
Definition at line 80 of file RNNLayer.h.
|
private |
First fDerivatives of the activations.
Definition at line 77 of file RNNLayer.h.
|
private |
Activation function of the hidden state.
Definition at line 70 of file RNNLayer.h.
|
private |
Remember state in next pass.
Definition at line 68 of file RNNLayer.h.
|
private |
Hidden State.
Definition at line 72 of file RNNLayer.h.
|
private |
Hidden state size of RNN.
Definition at line 67 of file RNNLayer.h.
|
private |
Timesteps for RNN.
Definition at line 66 of file RNNLayer.h.
|
private |
Gradients w.r.t. the input weights.
Definition at line 78 of file RNNLayer.h.
|
private |
Input weights, fWeights[0].
Definition at line 73 of file RNNLayer.h.
|
private |
Prev state weights, fWeights[1].
Definition at line 74 of file RNNLayer.h.
|
private |
Gradients w.r.t. the recurring weights.
Definition at line 79 of file RNNLayer.h.