Logo ROOT   6.16/01
Reference Guide
List of all members | Public Types | Public Member Functions | Private Attributes | List of all members
TMVA::DNN::TReshapeLayer< Architecture_t > Class Template Reference

template<typename Architecture_t>
class TMVA::DNN::TReshapeLayer< Architecture_t >

Definition at line 41 of file ReshapeLayer.h.

Public Types

using Matrix_t = typename Architecture_t::Matrix_t
 
using Scalar_t = typename Architecture_t::Scalar_t
 

Public Member Functions

 TReshapeLayer (const TReshapeLayer &)
 Copy Constructor. More...
 
 TReshapeLayer (size_t BatchSize, size_t InputDepth, size_t InputHeight, size_t InputWidth, size_t Depth, size_t Height, size_t Width, size_t OutputNSlices, size_t OutputNRows, size_t OutputNCols, bool Flattening)
 Constructor. More...
 
 TReshapeLayer (TReshapeLayer< Architecture_t > *layer)
 Copy the reshape layer provided as a pointer. More...
 
 ~TReshapeLayer ()
 Destructor. More...
 
virtual void AddWeightsXMLTo (void *parent)
 Writes the information and the weights about the layer in an XML node. More...
 
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)
 Backpropagates the error. More...
 
void Forward (std::vector< Matrix_t > &input, bool applyDropout=false)
 The input must be in 3D tensor form with the different matrices corresponding to different events in the batch. More...
 
bool isFlattening () const
 TODO Add documentation Does this layer flatten? (necessary for DenseLayer) B x D1 x D2 --> 1 x B x (D1 * D2) More...
 
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...
 
- Public Member Functions inherited from TMVA::DNN::VGeneralLayer< Architecture_t >
 VGeneralLayer (const VGeneralLayer &)
 Copy 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, 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...
 
virtual ~VGeneralLayer ()
 Virtual Destructor. More...
 
virtual void AddWeightsXMLTo (void *parent)=0
 Writes the information and the weights about the layer in an XML node. 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...
 
std::vector< Matrix_t > & GetActivationGradients ()
 
const std::vector< Matrix_t > & GetActivationGradients () const
 
Matrix_tGetActivationGradientsAt (size_t i)
 
const Matrix_tGetActivationGradientsAt (size_t i) const
 
size_t GetBatchSize () const
 Getters. More...
 
std::vector< Matrix_t > & GetBiases ()
 
const std::vector< Matrix_t > & GetBiases () const
 
Matrix_tGetBiasesAt (size_t i)
 
const Matrix_tGetBiasesAt (size_t i) 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
 
size_t GetDepth () const
 
size_t GetHeight () const
 
EInitialization GetInitialization () const
 
size_t GetInputDepth () const
 
size_t GetInputHeight () const
 
size_t GetInputWidth () const
 
std::vector< Matrix_t > & GetOutput ()
 
const std::vector< Matrix_t > & GetOutput () const
 
Matrix_tGetOutputAt (size_t i)
 
const Matrix_tGetOutputAt (size_t i) const
 
std::vector< Matrix_t > & GetWeightGradients ()
 
const std::vector< Matrix_t > & GetWeightGradients () const
 
Matrix_tGetWeightGradientsAt (size_t i)
 
const Matrix_tGetWeightGradientsAt (size_t i) 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
 
size_t GetWidth () const
 
void Initialize ()
 Initialize the weights and biases according to the given initialization method. More...
 
bool IsTraining () const
 
virtual void Print () const =0
 Prints the info about the layer. More...
 
void ReadMatrixXML (void *node, const char *name, Matrix_t &matrix)
 
virtual void ReadWeightsFromXML (void *parent)=0
 Read the information and the weights about the layer from XML node. More...
 
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

bool fFlattening
 Whather the layer is doing flattening. More...
 

Additional Inherited Members

- Protected Attributes inherited from TMVA::DNN::VGeneralLayer< Architecture_t >
std::vector< Matrix_tfActivationGradients
 Gradients w.r.t. the activations of this layer. More...
 
size_t fBatchSize
 Batch size used for training and evaluation. More...
 
std::vector< Matrix_tfBiases
 The biases associated to the layer. More...
 
std::vector< Matrix_tfBiasGradients
 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_tfOutput
 Activations of this layer. More...
 
std::vector< Matrix_tfWeightGradients
 Gradients w.r.t. the weights of the layer. More...
 
std::vector< Matrix_tfWeights
 The weights associated to the layer. More...
 
size_t fWidth
 The width of this layer. More...
 

#include <TMVA/DNN/ReshapeLayer.h>

Inheritance diagram for TMVA::DNN::TReshapeLayer< Architecture_t >:
[legend]

Member Typedef Documentation

◆ Matrix_t

template<typename Architecture_t >
using TMVA::DNN::TReshapeLayer< Architecture_t >::Matrix_t = typename Architecture_t::Matrix_t

Definition at line 43 of file ReshapeLayer.h.

◆ Scalar_t

template<typename Architecture_t >
using TMVA::DNN::TReshapeLayer< Architecture_t >::Scalar_t = typename Architecture_t::Scalar_t

Definition at line 44 of file ReshapeLayer.h.

Constructor & Destructor Documentation

◆ TReshapeLayer() [1/3]

template<typename Architecture_t >
TMVA::DNN::TReshapeLayer< Architecture_t >::TReshapeLayer ( size_t  BatchSize,
size_t  InputDepth,
size_t  InputHeight,
size_t  InputWidth,
size_t  Depth,
size_t  Height,
size_t  Width,
size_t  OutputNSlices,
size_t  OutputNRows,
size_t  OutputNCols,
bool  Flattening 
)

Constructor.

Definition at line 93 of file ReshapeLayer.h.

◆ TReshapeLayer() [2/3]

template<typename Architecture_t >
TMVA::DNN::TReshapeLayer< Architecture_t >::TReshapeLayer ( TReshapeLayer< Architecture_t > *  layer)

Copy the reshape layer provided as a pointer.

Definition at line 111 of file ReshapeLayer.h.

◆ TReshapeLayer() [3/3]

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

Copy Constructor.

Definition at line 118 of file ReshapeLayer.h.

◆ ~TReshapeLayer()

template<typename Architecture_t >
TMVA::DNN::TReshapeLayer< Architecture_t >::~TReshapeLayer

Destructor.

Definition at line 126 of file ReshapeLayer.h.

Member Function Documentation

◆ AddWeightsXMLTo()

template<typename Architecture_t >
auto TMVA::DNN::TReshapeLayer< Architecture_t >::AddWeightsXMLTo ( void parent)
virtual

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

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

Definition at line 181 of file ReshapeLayer.h.

◆ Backward()

template<typename Architecture_t >
auto TMVA::DNN::TReshapeLayer< Architecture_t >::Backward ( std::vector< Matrix_t > &  gradients_backward,
const std::vector< Matrix_t > &  activations_backward,
std::vector< Matrix_t > &  inp1,
std::vector< Matrix_t > &  inp2 
)
virtual

Backpropagates the error.

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

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

Definition at line 149 of file ReshapeLayer.h.

◆ Forward()

template<typename Architecture_t >
auto TMVA::DNN::TReshapeLayer< Architecture_t >::Forward ( std::vector< Matrix_t > &  input,
bool  applyDropout = false 
)
virtual

The input must be in 3D tensor form with the different matrices corresponding to different events in the batch.

It transforms the input matrices.

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

Definition at line 133 of file ReshapeLayer.h.

◆ isFlattening()

template<typename Architecture_t >
bool TMVA::DNN::TReshapeLayer< Architecture_t >::isFlattening ( ) const
inline

TODO Add documentation Does this layer flatten? (necessary for DenseLayer) B x D1 x D2 --> 1 x B x (D1 * D2)

Definition at line 85 of file ReshapeLayer.h.

◆ Print()

template<typename Architecture_t >
auto TMVA::DNN::TReshapeLayer< Architecture_t >::Print
virtual

Prints the info about the layer.

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

Definition at line 170 of file ReshapeLayer.h.

◆ ReadWeightsFromXML()

template<typename Architecture_t >
void TMVA::DNN::TReshapeLayer< Architecture_t >::ReadWeightsFromXML ( void parent)
virtual

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

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

Definition at line 196 of file ReshapeLayer.h.

Member Data Documentation

◆ fFlattening

template<typename Architecture_t >
bool TMVA::DNN::TReshapeLayer< Architecture_t >::fFlattening
private

Whather the layer is doing flattening.

Definition at line 47 of file ReshapeLayer.h.

Libraries for TMVA::DNN::TReshapeLayer< Architecture_t >:
[legend]

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