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.