Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t > Class Template Reference

template<typename Architecture_t>
class TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >

Definition at line 56 of file RNNLayer.h.

Public Types

using HelperDescriptor_t = typename Architecture_t::DropoutDescriptor_t
using LayerDescriptor_t = typename Architecture_t::RecurrentDescriptor_t
using Matrix_t = typename Architecture_t::Matrix_t
using RNNDescriptors_t = typename Architecture_t::RNNDescriptors_t
using RNNWorkspace_t = typename Architecture_t::RNNWorkspace_t
using Scalar_t = typename Architecture_t::Scalar_t
using Tensor_t = typename Architecture_t::Tensor_t
using TensorDescriptor_t = typename Architecture_t::TensorDescriptor_t
using WeightsDescriptor_t = typename Architecture_t::FilterDescriptor_t

Public Member Functions

 TBasicRNNLayer (const TBasicRNNLayer &)
 Copy Constructor.
 TBasicRNNLayer (size_t batchSize, size_t stateSize, size_t inputSize, size_t timeSteps, bool rememberState=false, bool returnSequence=false, DNN::EActivationFunction f=DNN::EActivationFunction::kTanh, bool training=true, DNN::EInitialization fA=DNN::EInitialization::kZero)
 Constructor.
virtual ~TBasicRNNLayer ()
 Destructor.
void AddWeightsXMLTo (void *parent) override
 Writes the information and the weights about the layer in an XML node.
void Backward (Tensor_t &gradients_backward, const Tensor_t &activations_backward) override
 Backpropagates the error.
Matrix_tCellBackward (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(...).
void CellForward (const Matrix_t &input, Matrix_t &dF)
 Forward for a single cell (time unit).
void CopyBiases (const std::vector< Matrix_t > &otherBiases)
 Copies the biases provided as an input.
template<typename Arch>
void CopyParameters (const VGeneralLayer< Arch > &layer)
 Copy all trainable weight and biases from another equivalent layer but with different architecture The function can copy also extra parameters in addition to weights and biases if they are return by the function GetExtraLayerParameters.
void CopyWeights (const std::vector< Matrix_t > &otherWeights)
 Copies the weights provided as an input.
bool DoesRememberState () const
bool DoesReturnSequence () const
void Forward (Tensor_t &input, bool isTraining=true) override
 Compute and return the next state with given input matrix.
DNN::EActivationFunction GetActivationFunction () const
Tensor_tGetActivationGradients ()
const Tensor_tGetActivationGradients () const
Matrix_t GetActivationGradientsAt (size_t i)
const Matrix_tGetActivationGradientsAt (size_t i) const
size_t GetBatchSize () const
 Getters.
std::vector< Matrix_t > & GetBiases ()
const std::vector< Matrix_t > & GetBiases () const
Matrix_tGetBiasesAt (size_t i)
const Matrix_tGetBiasesAt (size_t i) const
Matrix_tGetBiasesState ()
const Matrix_tGetBiasesState () const
std::vector< Matrix_t > & GetBiasGradients ()
const std::vector< Matrix_t > & GetBiasGradients () const
Matrix_tGetBiasGradientsAt (size_t i)
const Matrix_tGetBiasGradientsAt (size_t i) const
Matrix_tGetBiasStateGradients ()
const Matrix_tGetBiasStateGradients () const
Matrix_tGetCell ()
const Matrix_tGetCell () const
size_t GetDepth () const
Tensor_tGetDerivatives ()
const Tensor_tGetDerivatives () const
Tensor_tGetDX ()
Tensor_tGetDY ()
virtual std::vector< Matrix_tGetExtraLayerParameters () const
size_t GetHeight () const
EInitialization GetInitialization () const
size_t GetInputDepth () const
size_t GetInputHeight () const
size_t GetInputSize () const
size_t GetInputWidth () const
Tensor_tGetOutput ()
const Tensor_tGetOutput () const
Matrix_t GetOutputAt (size_t i)
const Matrix_tGetOutputAt (size_t i) const
Matrix_tGetState ()
const Matrix_tGetState () const
size_t GetStateSize () const
size_t GetTimeSteps () const
 Getters.
std::vector< Matrix_t > & GetWeightGradients ()
const std::vector< Matrix_t > & GetWeightGradients () const
Matrix_tGetWeightGradientsAt (size_t i)
const Matrix_tGetWeightGradientsAt (size_t i) const
Tensor_tGetWeightGradientsTensor ()
const Tensor_tGetWeightGradientsTensor () const
Matrix_tGetWeightInputGradients ()
const Matrix_tGetWeightInputGradients () const
std::vector< Matrix_t > & GetWeights ()
const std::vector< Matrix_t > & GetWeights () const
Matrix_tGetWeightsAt (size_t i)
const Matrix_tGetWeightsAt (size_t i) const
Matrix_tGetWeightsInput ()
const Matrix_tGetWeightsInput () const
Matrix_tGetWeightsState ()
const Matrix_tGetWeightsState () const
Matrix_tGetWeightStateGradients ()
const Matrix_tGetWeightStateGradients () const
Tensor_tGetWeightsTensor ()
const Tensor_tGetWeightsTensor () const
size_t GetWidth () const
Tensor_tGetX ()
Tensor_tGetY ()
void Initialize () override
 Initialize the weights according to the given initialization method.
void InitState (DNN::EInitialization m=DNN::EInitialization::kZero)
 Initialize the state method.
void InitTensors ()
bool IsTraining () const
void Print () const override
 Prints the info about the layer.
void ReadMatrixXML (void *node, const char *name, Matrix_t &matrix)
void ReadWeightsFromXML (void *parent) override
 Read the information and the weights about the layer from XML node.
virtual void ResetTraining ()
 Reset some training flags after a loop on all batches Some layer (e.g.
void SetBatchSize (size_t batchSize)
 Setters.
void SetDepth (size_t depth)
virtual void SetDropoutProbability (Scalar_t)
 Set Dropout probability.
virtual void SetExtraLayerParameters (const std::vector< Matrix_t > &)
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)
void UpdateBiases (const std::vector< Matrix_t > &biasGradients, const Scalar_t learningRate)
 Updates the biases, given the gradients and the learning rate.
void UpdateBiasGradients (const std::vector< Matrix_t > &biasGradients, const Scalar_t learningRate)
 Updates the bias gradients, given some other weight gradients and learning rate.
void UpdateWeightGradients (const std::vector< Matrix_t > &weightGradients, const Scalar_t learningRate)
 Updates the weight gradients, given some other weight gradients and learning rate.
void UpdateWeights (const std::vector< Matrix_t > &weightGradients, const Scalar_t learningRate)
 Updates the weights, given the gradients and the learning rate,.
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

Protected Attributes

Tensor_t fActivationGradients
 Gradients w.r.t. the activations of this layer.
size_t fBatchSize
 Batch size used for training and evaluation.
size_t fDepth
 The depth of the layer.
size_t fHeight
 The height of the layer.
EInitialization fInit
 The initialization method.
size_t fInputDepth
 The depth of the previous layer or input.
size_t fInputHeight
 The height of the previous layer or input.
size_t fInputWidth
 The width of the previous layer or input.
bool fIsTraining
 Flag indicating the mode.
Tensor_t fOutput
 Activations of this layer.
std::vector< Matrix_tfWeightGradients
 Gradients w.r.t. the weights of the layer.
std::vector< Matrix_tfWeights
 The weights associated to the layer.
size_t fWidth
 The width of this layer.

Private Attributes

Architecture_t::ActivationDescriptor_t fActivationDesc
Matrix_tfBiases
 Biases.
Matrix_tfBiasGradients
 Gradients w.r.t. the bias values.
Matrix_t fCell
 Empty matrix for RNN.
Tensor_t fDerivatives
 First fDerivatives of the activations.
TDescriptorsfDescriptors = nullptr
 Keeps all the RNN descriptors.
Tensor_t fDx
 cached gradient on the input (output of backward) as T x B x I
Tensor_t fDy
 cached activation gradient (input of backward) as T x B x S
DNN::EActivationFunction fF
 Activation function of the hidden state.
bool fRememberState
 Remember state in next pass.
bool fReturnSequence = false
 Return in output full sequence or just last element in time.
Matrix_t fState
 Hidden State.
size_t fStateSize
 Hidden state size of RNN.
size_t fTimeSteps
 Timesteps for RNN.
Tensor_t fWeightGradientsTensor
Matrix_tfWeightInputGradients
 Gradients w.r.t. the input weights.
Matrix_tfWeightsInput
 Input weights, fWeights[0].
Matrix_tfWeightsState
 Prev state weights, fWeights[1].
Matrix_tfWeightStateGradients
 Gradients w.r.t. the recurring weights.
Tensor_t fWeightsTensor
TWorkspacefWorkspace = nullptr
Tensor_t fX
 cached input tensor as T x B x I
Tensor_t fY
 cached output tensor as T x B x S

#include <TMVA/DNN/RNN/RNNLayer.h>

Inheritance diagram for TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >:
TMVA::DNN::VGeneralLayer< Architecture_t >

Member Typedef Documentation

◆ HelperDescriptor_t

template<typename Architecture_t>
using TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::HelperDescriptor_t = typename Architecture_t::DropoutDescriptor_t

Definition at line 68 of file RNNLayer.h.

◆ LayerDescriptor_t

template<typename Architecture_t>
using TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::LayerDescriptor_t = typename Architecture_t::RecurrentDescriptor_t

Definition at line 65 of file RNNLayer.h.

◆ Matrix_t

template<typename Architecture_t>
using TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::Matrix_t = typename Architecture_t::Matrix_t

Definition at line 62 of file RNNLayer.h.

◆ RNNDescriptors_t

template<typename Architecture_t>
using TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::RNNDescriptors_t = typename Architecture_t::RNNDescriptors_t

Definition at line 71 of file RNNLayer.h.

◆ RNNWorkspace_t

template<typename Architecture_t>
using TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::RNNWorkspace_t = typename Architecture_t::RNNWorkspace_t

Definition at line 70 of file RNNLayer.h.

◆ Scalar_t

template<typename Architecture_t>
using TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::Scalar_t = typename Architecture_t::Scalar_t

Definition at line 63 of file RNNLayer.h.

◆ Tensor_t

template<typename Architecture_t>
using TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::Tensor_t = typename Architecture_t::Tensor_t

Definition at line 61 of file RNNLayer.h.

◆ TensorDescriptor_t

template<typename Architecture_t>
using TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::TensorDescriptor_t = typename Architecture_t::TensorDescriptor_t

Definition at line 67 of file RNNLayer.h.

◆ WeightsDescriptor_t

template<typename Architecture_t>
using TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::WeightsDescriptor_t = typename Architecture_t::FilterDescriptor_t

Definition at line 66 of file RNNLayer.h.

Constructor & Destructor Documentation

◆ TBasicRNNLayer() [1/2]

template<typename Architecture_t>
TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::TBasicRNNLayer ( size_t batchSize,
size_t stateSize,
size_t inputSize,
size_t timeSteps,
bool rememberState = false,
bool returnSequence = false,
DNN::EActivationFunction f = DNN::EActivationFunction::kTanh,
bool training = true,
DNN::EInitialization fA = DNN::EInitialization::kZero )

Constructor.

Definition at line 213 of file RNNLayer.h.

◆ TBasicRNNLayer() [2/2]

template<typename Architecture_t>
TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::TBasicRNNLayer ( const TBasicRNNLayer< Architecture_t > & layer)

Copy Constructor.

Definition at line 231 of file RNNLayer.h.

◆ ~TBasicRNNLayer()

template<typename Architecture_t>
TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::~TBasicRNNLayer ( )
virtual

Destructor.

Definition at line 249 of file RNNLayer.h.

Member Function Documentation

◆ AddWeightsXMLTo()

template<typename Architecture_t>
void TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::AddWeightsXMLTo ( void * parent)
overridevirtual

Writes the information and the weights about the layer in an XML node.

Implements TMVA::DNN::VGeneralLayer< Architecture_t >.

Definition at line 599 of file RNNLayer.h.

◆ Backward()

template<typename Architecture_t>
auto TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::Backward ( Tensor_t & gradients_backward,
const Tensor_t & activations_backward )
inlineoverridevirtual

Backpropagates the error.

Must only be called directly at the corresponding call to Forward(...).

Implements TMVA::DNN::VGeneralLayer< Architecture_t >.

Definition at line 431 of file RNNLayer.h.

◆ CellBackward()

template<typename Architecture_t>
auto TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::CellBackward ( Matrix_t & state_gradients_backward,
const Matrix_t & precStateActivations,
const Matrix_t & input,
Matrix_t & input_gradient,
Matrix_t & dF )
inline

Backward for a single time unit a the corresponding call to Forward(...).

Definition at line 587 of file RNNLayer.h.

◆ CellForward()

template<typename Architecture_t>
auto TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::CellForward ( const Matrix_t & input,
Matrix_t & dF )
inline

Forward for a single cell (time unit).

Definition at line 408 of file RNNLayer.h.

◆ CopyBiases()

template<typename Architecture_t>
auto TMVA::DNN::VGeneralLayer< Architecture_t >::CopyBiases ( const std::vector< Matrix_t > & otherBiases)
inherited

Copies the biases provided as an input.

Definition at line 468 of file GeneralLayer.h.

◆ CopyParameters()

template<typename Architecture_t>
template<typename Arch>
void TMVA::DNN::VGeneralLayer< Architecture_t >::CopyParameters ( const VGeneralLayer< Arch > & layer)
inherited

Copy all trainable weight and biases from another equivalent layer but with different architecture The function can copy also extra parameters in addition to weights and biases if they are return by the function GetExtraLayerParameters.

Definition at line 478 of file GeneralLayer.h.

◆ CopyWeights()

template<typename Architecture_t>
auto TMVA::DNN::VGeneralLayer< Architecture_t >::CopyWeights ( const std::vector< Matrix_t > & otherWeights)
inherited

Copies the weights provided as an input.

Definition at line 458 of file GeneralLayer.h.

◆ DoesRememberState()

template<typename Architecture_t>
bool TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::DoesRememberState ( ) const
inline

Definition at line 171 of file RNNLayer.h.

◆ DoesReturnSequence()

template<typename Architecture_t>
bool TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::DoesReturnSequence ( ) const
inline

Definition at line 172 of file RNNLayer.h.

◆ Forward()

template<typename Architecture_t>
void TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::Forward ( Tensor_t & input,
bool isTraining = true )
overridevirtual

Compute and return the next state with given input matrix.

Implements TMVA::DNN::VGeneralLayer< Architecture_t >.

Definition at line 322 of file RNNLayer.h.

◆ GetActivationFunction()

template<typename Architecture_t>
DNN::EActivationFunction TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetActivationFunction ( ) const
inline

Definition at line 173 of file RNNLayer.h.

◆ GetActivationGradients() [1/2]

template<typename Architecture_t>
Tensor_t & TMVA::DNN::VGeneralLayer< Architecture_t >::GetActivationGradients ( )
inlineinherited

Definition at line 200 of file GeneralLayer.h.

◆ GetActivationGradients() [2/2]

template<typename Architecture_t>
const Tensor_t & TMVA::DNN::VGeneralLayer< Architecture_t >::GetActivationGradients ( ) const
inlineinherited

Definition at line 199 of file GeneralLayer.h.

◆ GetActivationGradientsAt() [1/2]

template<typename Architecture_t>
Matrix_t TMVA::DNN::VGeneralLayer< Architecture_t >::GetActivationGradientsAt ( size_t i)
inlineinherited

Definition at line 205 of file GeneralLayer.h.

◆ GetActivationGradientsAt() [2/2]

template<typename Architecture_t>
const Matrix_t & TMVA::DNN::VGeneralLayer< Architecture_t >::GetActivationGradientsAt ( size_t i) const
inlineinherited

Definition at line 206 of file GeneralLayer.h.

◆ GetBatchSize()

template<typename Architecture_t>
size_t TMVA::DNN::VGeneralLayer< Architecture_t >::GetBatchSize ( ) const
inlineinherited

Getters.

Definition at line 163 of file GeneralLayer.h.

◆ GetBiases() [1/2]

template<typename Architecture_t>
std::vector< Matrix_t > & TMVA::DNN::VGeneralLayer< Architecture_t >::GetBiases ( )
inlineinherited

Definition at line 179 of file GeneralLayer.h.

◆ GetBiases() [2/2]

template<typename Architecture_t>
const std::vector< Matrix_t > & TMVA::DNN::VGeneralLayer< Architecture_t >::GetBiases ( ) const
inlineinherited

Definition at line 178 of file GeneralLayer.h.

◆ GetBiasesAt() [1/2]

template<typename Architecture_t>
Matrix_t & TMVA::DNN::VGeneralLayer< Architecture_t >::GetBiasesAt ( size_t i)
inlineinherited

Definition at line 182 of file GeneralLayer.h.

◆ GetBiasesAt() [2/2]

template<typename Architecture_t>
const Matrix_t & TMVA::DNN::VGeneralLayer< Architecture_t >::GetBiasesAt ( size_t i) const
inlineinherited

Definition at line 181 of file GeneralLayer.h.

◆ GetBiasesState() [1/2]

template<typename Architecture_t>
Matrix_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetBiasesState ( )
inline

Definition at line 188 of file RNNLayer.h.

◆ GetBiasesState() [2/2]

template<typename Architecture_t>
const Matrix_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetBiasesState ( ) const
inline

Definition at line 189 of file RNNLayer.h.

◆ GetBiasGradients() [1/2]

template<typename Architecture_t>
std::vector< Matrix_t > & TMVA::DNN::VGeneralLayer< Architecture_t >::GetBiasGradients ( )
inlineinherited

Definition at line 191 of file GeneralLayer.h.

◆ GetBiasGradients() [2/2]

template<typename Architecture_t>
const std::vector< Matrix_t > & TMVA::DNN::VGeneralLayer< Architecture_t >::GetBiasGradients ( ) const
inlineinherited

Definition at line 190 of file GeneralLayer.h.

◆ GetBiasGradientsAt() [1/2]

template<typename Architecture_t>
Matrix_t & TMVA::DNN::VGeneralLayer< Architecture_t >::GetBiasGradientsAt ( size_t i)
inlineinherited

Definition at line 194 of file GeneralLayer.h.

◆ GetBiasGradientsAt() [2/2]

template<typename Architecture_t>
const Matrix_t & TMVA::DNN::VGeneralLayer< Architecture_t >::GetBiasGradientsAt ( size_t i) const
inlineinherited

Definition at line 193 of file GeneralLayer.h.

◆ GetBiasStateGradients() [1/2]

template<typename Architecture_t>
Matrix_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetBiasStateGradients ( )
inline

Definition at line 190 of file RNNLayer.h.

◆ GetBiasStateGradients() [2/2]

template<typename Architecture_t>
const Matrix_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetBiasStateGradients ( ) const
inline

Definition at line 191 of file RNNLayer.h.

◆ GetCell() [1/2]

template<typename Architecture_t>
Matrix_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetCell ( )
inline

Definition at line 176 of file RNNLayer.h.

◆ GetCell() [2/2]

template<typename Architecture_t>
const Matrix_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetCell ( ) const
inline

Definition at line 177 of file RNNLayer.h.

◆ GetDepth()

template<typename Architecture_t>
size_t TMVA::DNN::VGeneralLayer< Architecture_t >::GetDepth ( ) const
inlineinherited

Definition at line 167 of file GeneralLayer.h.

◆ GetDerivatives() [1/2]

template<typename Architecture_t>
Tensor_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetDerivatives ( )
inline

Definition at line 183 of file RNNLayer.h.

◆ GetDerivatives() [2/2]

template<typename Architecture_t>
const Tensor_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetDerivatives ( ) const
inline

Definition at line 184 of file RNNLayer.h.

◆ GetDX()

template<typename Architecture_t>
Tensor_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetDX ( )
inline

Definition at line 204 of file RNNLayer.h.

◆ GetDY()

template<typename Architecture_t>
Tensor_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetDY ( )
inline

Definition at line 205 of file RNNLayer.h.

◆ GetExtraLayerParameters()

template<typename Architecture_t>
virtual std::vector< Matrix_t > TMVA::DNN::VGeneralLayer< Architecture_t >::GetExtraLayerParameters ( ) const
inlinevirtualinherited

◆ GetHeight()

template<typename Architecture_t>
size_t TMVA::DNN::VGeneralLayer< Architecture_t >::GetHeight ( ) const
inlineinherited

Definition at line 168 of file GeneralLayer.h.

◆ GetInitialization()

template<typename Architecture_t>
EInitialization TMVA::DNN::VGeneralLayer< Architecture_t >::GetInitialization ( ) const
inlineinherited

Definition at line 214 of file GeneralLayer.h.

◆ GetInputDepth()

template<typename Architecture_t>
size_t TMVA::DNN::VGeneralLayer< Architecture_t >::GetInputDepth ( ) const
inlineinherited

Definition at line 164 of file GeneralLayer.h.

◆ GetInputHeight()

template<typename Architecture_t>
size_t TMVA::DNN::VGeneralLayer< Architecture_t >::GetInputHeight ( ) const
inlineinherited

Definition at line 165 of file GeneralLayer.h.

◆ GetInputSize()

template<typename Architecture_t>
size_t TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetInputSize ( ) const
inline

Definition at line 170 of file RNNLayer.h.

◆ GetInputWidth()

template<typename Architecture_t>
size_t TMVA::DNN::VGeneralLayer< Architecture_t >::GetInputWidth ( ) const
inlineinherited

Definition at line 166 of file GeneralLayer.h.

◆ GetOutput() [1/2]

template<typename Architecture_t>
Tensor_t & TMVA::DNN::VGeneralLayer< Architecture_t >::GetOutput ( )
inlineinherited

Definition at line 197 of file GeneralLayer.h.

◆ GetOutput() [2/2]

template<typename Architecture_t>
const Tensor_t & TMVA::DNN::VGeneralLayer< Architecture_t >::GetOutput ( ) const
inlineinherited

Definition at line 196 of file GeneralLayer.h.

◆ GetOutputAt() [1/2]

template<typename Architecture_t>
Matrix_t TMVA::DNN::VGeneralLayer< Architecture_t >::GetOutputAt ( size_t i)
inlineinherited

Definition at line 202 of file GeneralLayer.h.

◆ GetOutputAt() [2/2]

template<typename Architecture_t>
const Matrix_t & TMVA::DNN::VGeneralLayer< Architecture_t >::GetOutputAt ( size_t i) const
inlineinherited

Definition at line 203 of file GeneralLayer.h.

◆ GetState() [1/2]

template<typename Architecture_t>
Matrix_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetState ( )
inline

Definition at line 174 of file RNNLayer.h.

◆ GetState() [2/2]

template<typename Architecture_t>
const Matrix_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetState ( ) const
inline

Definition at line 175 of file RNNLayer.h.

◆ GetStateSize()

template<typename Architecture_t>
size_t TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetStateSize ( ) const
inline

Definition at line 169 of file RNNLayer.h.

◆ GetTimeSteps()

template<typename Architecture_t>
size_t TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetTimeSteps ( ) const
inline

Getters.

Definition at line 168 of file RNNLayer.h.

◆ GetWeightGradients() [1/2]

template<typename Architecture_t>
std::vector< Matrix_t > & TMVA::DNN::VGeneralLayer< Architecture_t >::GetWeightGradients ( )
inlineinherited

Definition at line 185 of file GeneralLayer.h.

◆ GetWeightGradients() [2/2]

template<typename Architecture_t>
const std::vector< Matrix_t > & TMVA::DNN::VGeneralLayer< Architecture_t >::GetWeightGradients ( ) const
inlineinherited

Definition at line 184 of file GeneralLayer.h.

◆ GetWeightGradientsAt() [1/2]

template<typename Architecture_t>
Matrix_t & TMVA::DNN::VGeneralLayer< Architecture_t >::GetWeightGradientsAt ( size_t i)
inlineinherited

Definition at line 188 of file GeneralLayer.h.

◆ GetWeightGradientsAt() [2/2]

template<typename Architecture_t>
const Matrix_t & TMVA::DNN::VGeneralLayer< Architecture_t >::GetWeightGradientsAt ( size_t i) const
inlineinherited

Definition at line 187 of file GeneralLayer.h.

◆ GetWeightGradientsTensor() [1/2]

template<typename Architecture_t>
Tensor_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetWeightGradientsTensor ( )
inline

Definition at line 199 of file RNNLayer.h.

◆ GetWeightGradientsTensor() [2/2]

template<typename Architecture_t>
const Tensor_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetWeightGradientsTensor ( ) const
inline

Definition at line 200 of file RNNLayer.h.

◆ GetWeightInputGradients() [1/2]

template<typename Architecture_t>
Matrix_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetWeightInputGradients ( )
inline

Definition at line 192 of file RNNLayer.h.

◆ GetWeightInputGradients() [2/2]

template<typename Architecture_t>
const Matrix_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetWeightInputGradients ( ) const
inline

Definition at line 193 of file RNNLayer.h.

◆ GetWeights() [1/2]

template<typename Architecture_t>
std::vector< Matrix_t > & TMVA::DNN::VGeneralLayer< Architecture_t >::GetWeights ( )
inlineinherited

Definition at line 173 of file GeneralLayer.h.

◆ GetWeights() [2/2]

template<typename Architecture_t>
const std::vector< Matrix_t > & TMVA::DNN::VGeneralLayer< Architecture_t >::GetWeights ( ) const
inlineinherited

Definition at line 172 of file GeneralLayer.h.

◆ GetWeightsAt() [1/2]

template<typename Architecture_t>
Matrix_t & TMVA::DNN::VGeneralLayer< Architecture_t >::GetWeightsAt ( size_t i)
inlineinherited

Definition at line 176 of file GeneralLayer.h.

◆ GetWeightsAt() [2/2]

template<typename Architecture_t>
const Matrix_t & TMVA::DNN::VGeneralLayer< Architecture_t >::GetWeightsAt ( size_t i) const
inlineinherited

Definition at line 175 of file GeneralLayer.h.

◆ GetWeightsInput() [1/2]

template<typename Architecture_t>
Matrix_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetWeightsInput ( )
inline

Definition at line 179 of file RNNLayer.h.

◆ GetWeightsInput() [2/2]

template<typename Architecture_t>
const Matrix_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetWeightsInput ( ) const
inline

Definition at line 180 of file RNNLayer.h.

◆ GetWeightsState() [1/2]

template<typename Architecture_t>
Matrix_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetWeightsState ( )
inline

Definition at line 181 of file RNNLayer.h.

◆ GetWeightsState() [2/2]

template<typename Architecture_t>
const Matrix_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetWeightsState ( ) const
inline

Definition at line 182 of file RNNLayer.h.

◆ GetWeightStateGradients() [1/2]

template<typename Architecture_t>
Matrix_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetWeightStateGradients ( )
inline

Definition at line 194 of file RNNLayer.h.

◆ GetWeightStateGradients() [2/2]

template<typename Architecture_t>
const Matrix_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetWeightStateGradients ( ) const
inline

Definition at line 195 of file RNNLayer.h.

◆ GetWeightsTensor() [1/2]

template<typename Architecture_t>
Tensor_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetWeightsTensor ( )
inline

Definition at line 197 of file RNNLayer.h.

◆ GetWeightsTensor() [2/2]

template<typename Architecture_t>
const Tensor_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetWeightsTensor ( ) const
inline

Definition at line 198 of file RNNLayer.h.

◆ GetWidth()

template<typename Architecture_t>
size_t TMVA::DNN::VGeneralLayer< Architecture_t >::GetWidth ( ) const
inlineinherited

Definition at line 169 of file GeneralLayer.h.

◆ GetX()

template<typename Architecture_t>
Tensor_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetX ( )
inline

Definition at line 202 of file RNNLayer.h.

◆ GetY()

template<typename Architecture_t>
Tensor_t & TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::GetY ( )
inline

Definition at line 203 of file RNNLayer.h.

◆ Initialize()

template<typename Architecture_t>
void TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::Initialize ( )
overridevirtual

Initialize the weights according to the given initialization method.

Reimplemented from TMVA::DNN::VGeneralLayer< Architecture_t >.

Definition at line 264 of file RNNLayer.h.

◆ InitState()

template<typename Architecture_t>
auto TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::InitState ( DNN::EInitialization m = DNN::EInitialization::kZero)

Initialize the state method.

Definition at line 286 of file RNNLayer.h.

◆ InitTensors()

template<typename Architecture_t>
void TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::InitTensors ( )

Definition at line 279 of file RNNLayer.h.

◆ IsTraining()

template<typename Architecture_t>
bool TMVA::DNN::VGeneralLayer< Architecture_t >::IsTraining ( ) const
inlineinherited

Definition at line 170 of file GeneralLayer.h.

◆ Print()

template<typename Architecture_t>
auto TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::Print ( ) const
overridevirtual

Prints the info about the layer.

Implements TMVA::DNN::VGeneralLayer< Architecture_t >.

Definition at line 295 of file RNNLayer.h.

◆ ReadMatrixXML()

template<typename Architecture_t>
auto TMVA::DNN::VGeneralLayer< Architecture_t >::ReadMatrixXML ( void * node,
const char * name,
Matrix_t & matrix )
inherited

Definition at line 544 of file GeneralLayer.h.

◆ ReadWeightsFromXML()

template<typename Architecture_t>
void TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::ReadWeightsFromXML ( void * parent)
overridevirtual

Read the information and the weights about the layer from XML node.

Implements TMVA::DNN::VGeneralLayer< Architecture_t >.

Definition at line 620 of file RNNLayer.h.

◆ ResetTraining()

template<typename Architecture_t>
virtual void TMVA::DNN::VGeneralLayer< Architecture_t >::ResetTraining ( )
inlinevirtualinherited

Reset some training flags after a loop on all batches Some layer (e.g.

batchnormalization) might need to implement the function in case some operations are needed after looping an all batches

Reimplemented in TMVA::DNN::TBatchNormLayer< Architecture_t >, TMVA::DNN::TBatchNormLayer< TCpu< AReal > >, and TMVA::DNN::TBatchNormLayer< TCuda< AReal > >.

Definition at line 121 of file GeneralLayer.h.

◆ SetBatchSize()

template<typename Architecture_t>
void TMVA::DNN::VGeneralLayer< Architecture_t >::SetBatchSize ( size_t batchSize)
inlineinherited

Setters.

Definition at line 217 of file GeneralLayer.h.

◆ SetDepth()

template<typename Architecture_t>
void TMVA::DNN::VGeneralLayer< Architecture_t >::SetDepth ( size_t depth)
inlineinherited

Definition at line 221 of file GeneralLayer.h.

◆ SetDropoutProbability()

template<typename Architecture_t>
virtual void TMVA::DNN::VGeneralLayer< Architecture_t >::SetDropoutProbability ( Scalar_t )
inlinevirtualinherited

Set Dropout probability.

Reimplemented for layers supporting droput

Reimplemented in TMVA::DNN::TDenseLayer< Architecture_t >.

Definition at line 160 of file GeneralLayer.h.

◆ SetExtraLayerParameters()

template<typename Architecture_t>
virtual void TMVA::DNN::VGeneralLayer< Architecture_t >::SetExtraLayerParameters ( const std::vector< Matrix_t > & )
inlinevirtualinherited

◆ SetHeight()

template<typename Architecture_t>
void TMVA::DNN::VGeneralLayer< Architecture_t >::SetHeight ( size_t height)
inlineinherited

Definition at line 222 of file GeneralLayer.h.

◆ SetInputDepth()

template<typename Architecture_t>
void TMVA::DNN::VGeneralLayer< Architecture_t >::SetInputDepth ( size_t inputDepth)
inlineinherited

Definition at line 218 of file GeneralLayer.h.

◆ SetInputHeight()

template<typename Architecture_t>
void TMVA::DNN::VGeneralLayer< Architecture_t >::SetInputHeight ( size_t inputHeight)
inlineinherited

Definition at line 219 of file GeneralLayer.h.

◆ SetInputWidth()

template<typename Architecture_t>
void TMVA::DNN::VGeneralLayer< Architecture_t >::SetInputWidth ( size_t inputWidth)
inlineinherited

Definition at line 220 of file GeneralLayer.h.

◆ SetIsTraining()

template<typename Architecture_t>
void TMVA::DNN::VGeneralLayer< Architecture_t >::SetIsTraining ( bool isTraining)
inlineinherited

Definition at line 224 of file GeneralLayer.h.

◆ SetWidth()

template<typename Architecture_t>
void TMVA::DNN::VGeneralLayer< Architecture_t >::SetWidth ( size_t width)
inlineinherited

Definition at line 223 of file GeneralLayer.h.

◆ Update()

template<typename Architecture_t>
void TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::Update ( const Scalar_t learningRate)

◆ UpdateBiases()

template<typename Architecture_t>
auto TMVA::DNN::VGeneralLayer< Architecture_t >::UpdateBiases ( const std::vector< Matrix_t > & biasGradients,
const Scalar_t learningRate )
inherited

Updates the biases, given the gradients and the learning rate.

Definition at line 428 of file GeneralLayer.h.

◆ UpdateBiasGradients()

template<typename Architecture_t>
auto TMVA::DNN::VGeneralLayer< Architecture_t >::UpdateBiasGradients ( const std::vector< Matrix_t > & biasGradients,
const Scalar_t learningRate )
inherited

Updates the bias gradients, given some other weight gradients and learning rate.

Definition at line 448 of file GeneralLayer.h.

◆ UpdateWeightGradients()

template<typename Architecture_t>
auto TMVA::DNN::VGeneralLayer< Architecture_t >::UpdateWeightGradients ( const std::vector< Matrix_t > & weightGradients,
const Scalar_t learningRate )
inherited

Updates the weight gradients, given some other weight gradients and learning rate.

Definition at line 438 of file GeneralLayer.h.

◆ UpdateWeights()

template<typename Architecture_t>
auto TMVA::DNN::VGeneralLayer< Architecture_t >::UpdateWeights ( const std::vector< Matrix_t > & weightGradients,
const Scalar_t learningRate )
inherited

Updates the weights, given the gradients and the learning rate,.

Definition at line 418 of file GeneralLayer.h.

◆ WriteMatrixToXML()

template<typename Architecture_t>
auto TMVA::DNN::VGeneralLayer< Architecture_t >::WriteMatrixToXML ( void * node,
const char * name,
const Matrix_t & matrix )
inherited

Definition at line 521 of file GeneralLayer.h.

◆ WriteTensorToXML()

template<typename Architecture_t>
auto TMVA::DNN::VGeneralLayer< Architecture_t >::WriteTensorToXML ( void * node,
const char * name,
const std::vector< Matrix_t > & tensor )
inherited

helper functions for XML

Definition at line 496 of file GeneralLayer.h.

Member Data Documentation

◆ fActivationDesc

template<typename Architecture_t>
Architecture_t::ActivationDescriptor_t TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fActivationDesc
private

Definition at line 95 of file RNNLayer.h.

◆ fActivationGradients

template<typename Architecture_t>
Tensor_t TMVA::DNN::VGeneralLayer< Architecture_t >::fActivationGradients
protectedinherited

Gradients w.r.t. the activations of this layer.

Definition at line 78 of file GeneralLayer.h.

◆ fBatchSize

template<typename Architecture_t>
size_t TMVA::DNN::VGeneralLayer< Architecture_t >::fBatchSize
protectedinherited

Batch size used for training and evaluation.

Definition at line 59 of file GeneralLayer.h.

◆ fBiases

template<typename Architecture_t>
Matrix_t& TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fBiases
private

Biases.

Definition at line 85 of file RNNLayer.h.

◆ fBiasGradients

template<typename Architecture_t>
Matrix_t& TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fBiasGradients
private

Gradients w.r.t. the bias values.

Definition at line 90 of file RNNLayer.h.

◆ fCell

template<typename Architecture_t>
Matrix_t TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fCell
private

Empty matrix for RNN.

Definition at line 100 of file RNNLayer.h.

◆ fDepth

template<typename Architecture_t>
size_t TMVA::DNN::VGeneralLayer< Architecture_t >::fDepth
protectedinherited

The depth of the layer.

Definition at line 65 of file GeneralLayer.h.

◆ fDerivatives

template<typename Architecture_t>
Tensor_t TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fDerivatives
private

First fDerivatives of the activations.

Definition at line 87 of file RNNLayer.h.

◆ fDescriptors

template<typename Architecture_t>
TDescriptors* TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fDescriptors = nullptr
private

Keeps all the RNN descriptors.

Definition at line 97 of file RNNLayer.h.

◆ fDx

template<typename Architecture_t>
Tensor_t TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fDx
private

cached gradient on the input (output of backward) as T x B x I

Definition at line 105 of file RNNLayer.h.

◆ fDy

template<typename Architecture_t>
Tensor_t TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fDy
private

cached activation gradient (input of backward) as T x B x S

Definition at line 106 of file RNNLayer.h.

◆ fF

template<typename Architecture_t>
DNN::EActivationFunction TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fF
private

Activation function of the hidden state.

Definition at line 80 of file RNNLayer.h.

◆ fHeight

template<typename Architecture_t>
size_t TMVA::DNN::VGeneralLayer< Architecture_t >::fHeight
protectedinherited

The height of the layer.

Definition at line 66 of file GeneralLayer.h.

◆ fInit

template<typename Architecture_t>
EInitialization TMVA::DNN::VGeneralLayer< Architecture_t >::fInit
protectedinherited

The initialization method.

Definition at line 80 of file GeneralLayer.h.

◆ fInputDepth

template<typename Architecture_t>
size_t TMVA::DNN::VGeneralLayer< Architecture_t >::fInputDepth
protectedinherited

The depth of the previous layer or input.

Definition at line 61 of file GeneralLayer.h.

◆ fInputHeight

template<typename Architecture_t>
size_t TMVA::DNN::VGeneralLayer< Architecture_t >::fInputHeight
protectedinherited

The height of the previous layer or input.

Definition at line 62 of file GeneralLayer.h.

◆ fInputWidth

template<typename Architecture_t>
size_t TMVA::DNN::VGeneralLayer< Architecture_t >::fInputWidth
protectedinherited

The width of the previous layer or input.

Definition at line 63 of file GeneralLayer.h.

◆ fIsTraining

template<typename Architecture_t>
bool TMVA::DNN::VGeneralLayer< Architecture_t >::fIsTraining
protectedinherited

Flag indicating the mode.

Definition at line 69 of file GeneralLayer.h.

◆ fOutput

template<typename Architecture_t>
Tensor_t TMVA::DNN::VGeneralLayer< Architecture_t >::fOutput
protectedinherited

Activations of this layer.

Definition at line 77 of file GeneralLayer.h.

◆ fRememberState

template<typename Architecture_t>
bool TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fRememberState
private

Remember state in next pass.

Definition at line 77 of file RNNLayer.h.

◆ fReturnSequence

template<typename Architecture_t>
bool TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fReturnSequence = false
private

Return in output full sequence or just last element in time.

Definition at line 78 of file RNNLayer.h.

◆ fState

template<typename Architecture_t>
Matrix_t TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fState
private

Hidden State.

Definition at line 82 of file RNNLayer.h.

◆ fStateSize

template<typename Architecture_t>
size_t TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fStateSize
private

Hidden state size of RNN.

Definition at line 76 of file RNNLayer.h.

◆ fTimeSteps

template<typename Architecture_t>
size_t TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fTimeSteps
private

Timesteps for RNN.

Definition at line 75 of file RNNLayer.h.

◆ fWeightGradients

template<typename Architecture_t>
std::vector<Matrix_t> TMVA::DNN::VGeneralLayer< Architecture_t >::fWeightGradients
protectedinherited

Gradients w.r.t. the weights of the layer.

Definition at line 74 of file GeneralLayer.h.

◆ fWeightGradientsTensor

template<typename Architecture_t>
Tensor_t TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fWeightGradientsTensor
private

Definition at line 93 of file RNNLayer.h.

◆ fWeightInputGradients

template<typename Architecture_t>
Matrix_t& TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fWeightInputGradients
private

Gradients w.r.t. the input weights.

Definition at line 88 of file RNNLayer.h.

◆ fWeights

template<typename Architecture_t>
std::vector<Matrix_t> TMVA::DNN::VGeneralLayer< Architecture_t >::fWeights
protectedinherited

The weights associated to the layer.

Definition at line 71 of file GeneralLayer.h.

◆ fWeightsInput

template<typename Architecture_t>
Matrix_t& TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fWeightsInput
private

Input weights, fWeights[0].

Definition at line 83 of file RNNLayer.h.

◆ fWeightsState

template<typename Architecture_t>
Matrix_t& TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fWeightsState
private

Prev state weights, fWeights[1].

Definition at line 84 of file RNNLayer.h.

◆ fWeightStateGradients

template<typename Architecture_t>
Matrix_t& TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fWeightStateGradients
private

Gradients w.r.t. the recurring weights.

Definition at line 89 of file RNNLayer.h.

◆ fWeightsTensor

template<typename Architecture_t>
Tensor_t TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fWeightsTensor
private

Definition at line 92 of file RNNLayer.h.

◆ fWidth

template<typename Architecture_t>
size_t TMVA::DNN::VGeneralLayer< Architecture_t >::fWidth
protectedinherited

The width of this layer.

Definition at line 67 of file GeneralLayer.h.

◆ fWorkspace

template<typename Architecture_t>
TWorkspace* TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fWorkspace = nullptr
private

Definition at line 98 of file RNNLayer.h.

◆ fX

template<typename Architecture_t>
Tensor_t TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fX
private

cached input tensor as T x B x I

Definition at line 103 of file RNNLayer.h.

◆ fY

template<typename Architecture_t>
Tensor_t TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >::fY
private

cached output tensor as T x B x S

Definition at line 104 of file RNNLayer.h.


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