ROOT 6.18/05 Reference Guide |
Generic General Layer class.
This class represents the general class for all layers in the Deep Learning Module.
Definition at line 46 of file GeneralLayer.h.
Public Member Functions | |
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_t & | GetActivationGradientsAt (size_t i) |
const Matrix_t & | GetActivationGradientsAt (size_t i) const |
size_t | GetBatchSize () const |
Getters. More... | |
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) 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_t & | GetOutputAt (size_t i) |
const Matrix_t & | GetOutputAt (size_t i) 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) 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) |
virtual void | SetDropoutProbability (Scalar_t) |
Set Dropout probability. More... | |
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... | |
Protected Attributes | |
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... | |
Private Types | |
using | Matrix_t = typename Architecture_t::Matrix_t |
using | Scalar_t = typename Architecture_t::Scalar_t |
#include <TMVA/DNN/GeneralLayer.h>
|
private |
Definition at line 47 of file GeneralLayer.h.
|
private |
Definition at line 48 of file GeneralLayer.h.
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.
Definition at line 214 of file GeneralLayer.h.
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, | ||
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.
Definition at line 242 of file GeneralLayer.h.
TMVA::DNN::VGeneralLayer< Architecture_t >::VGeneralLayer | ( | VGeneralLayer< Architecture_t > * | layer | ) |
Copy the layer provided as a pointer.
Definition at line 271 of file GeneralLayer.h.
TMVA::DNN::VGeneralLayer< Architecture_t >::VGeneralLayer | ( | const VGeneralLayer< Architecture_t > & | layer | ) |
Copy Constructor.
Definition at line 320 of file GeneralLayer.h.
|
virtual |
Virtual Destructor.
Definition at line 369 of file GeneralLayer.h.
|
pure virtual |
Writes the information and the weights about the layer in an XML node.
Implemented in TMVA::DNN::CNN::TConvLayer< Architecture_t >, TMVA::DNN::CNN::TMaxPoolLayer< Architecture_t >, TMVA::DNN::TDenseLayer< Architecture_t >, TMVA::DNN::TReshapeLayer< Architecture_t >, and TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >.
|
pure virtual |
Backpropagates the error.
Must only be called directly at the corresponding call to Forward(...).
Implemented in TMVA::DNN::CNN::TConvLayer< Architecture_t >, TMVA::DNN::CNN::TMaxPoolLayer< Architecture_t >, TMVA::DNN::TDenseLayer< Architecture_t >, and TMVA::DNN::TReshapeLayer< Architecture_t >.
auto TMVA::DNN::VGeneralLayer< Architecture_t >::CopyBiases | ( | const std::vector< Matrix_t > & | otherBiases | ) |
Copies the biases provided as an input.
Definition at line 449 of file GeneralLayer.h.
auto TMVA::DNN::VGeneralLayer< Architecture_t >::CopyWeights | ( | const std::vector< Matrix_t > & | otherWeights | ) |
|
pure virtual |
Computes activation of the layer for the given input.
The input must be in 3D tensor form with the different matrices corresponding to different events in the batch.
Implemented in TMVA::DNN::CNN::TConvLayer< Architecture_t >, TMVA::DNN::CNN::TMaxPoolLayer< Architecture_t >, TMVA::DNN::TDenseLayer< Architecture_t >, and TMVA::DNN::TReshapeLayer< Architecture_t >.
|
inline |
Definition at line 181 of file GeneralLayer.h.
|
inline |
Definition at line 180 of file GeneralLayer.h.
|
inline |
Definition at line 186 of file GeneralLayer.h.
|
inline |
Definition at line 187 of file GeneralLayer.h.
|
inline |
Getters.
Definition at line 144 of file GeneralLayer.h.
|
inline |
Definition at line 160 of file GeneralLayer.h.
|
inline |
Definition at line 159 of file GeneralLayer.h.
|
inline |
Definition at line 163 of file GeneralLayer.h.
|
inline |
Definition at line 162 of file GeneralLayer.h.
|
inline |
Definition at line 172 of file GeneralLayer.h.
|
inline |
Definition at line 171 of file GeneralLayer.h.
|
inline |
Definition at line 175 of file GeneralLayer.h.
|
inline |
Definition at line 174 of file GeneralLayer.h.
|
inline |
Definition at line 148 of file GeneralLayer.h.
|
inline |
Definition at line 149 of file GeneralLayer.h.
|
inline |
Definition at line 189 of file GeneralLayer.h.
|
inline |
Definition at line 145 of file GeneralLayer.h.
|
inline |
Definition at line 146 of file GeneralLayer.h.
|
inline |
Definition at line 147 of file GeneralLayer.h.
|
inline |
Definition at line 178 of file GeneralLayer.h.
|
inline |
Definition at line 177 of file GeneralLayer.h.
|
inline |
Definition at line 183 of file GeneralLayer.h.
|
inline |
Definition at line 184 of file GeneralLayer.h.
|
inline |
Definition at line 166 of file GeneralLayer.h.
|
inline |
Definition at line 165 of file GeneralLayer.h.
|
inline |
Definition at line 169 of file GeneralLayer.h.
|
inline |
Definition at line 168 of file GeneralLayer.h.
|
inline |
Definition at line 154 of file GeneralLayer.h.
|
inline |
Definition at line 153 of file GeneralLayer.h.
|
inline |
Definition at line 157 of file GeneralLayer.h.
|
inline |
Definition at line 156 of file GeneralLayer.h.
|
inline |
Definition at line 150 of file GeneralLayer.h.
auto TMVA::DNN::VGeneralLayer< Architecture_t >::Initialize |
Initialize the weights and biases according to the given initialization method.
Definition at line 376 of file GeneralLayer.h.
|
inline |
Definition at line 151 of file GeneralLayer.h.
|
pure virtual |
Prints the info about the layer.
Implemented in TMVA::DNN::CNN::TConvLayer< Architecture_t >, TMVA::DNN::CNN::TMaxPoolLayer< Architecture_t >, TMVA::DNN::TDenseLayer< Architecture_t >, TMVA::DNN::TReshapeLayer< Architecture_t >, and TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >.
auto TMVA::DNN::VGeneralLayer< Architecture_t >::ReadMatrixXML | ( | void * | node, |
const char * | name, | ||
Matrix_t & | matrix | ||
) |
Definition at line 506 of file GeneralLayer.h.
|
pure virtual |
Read the information and the weights about the layer from XML node.
Implemented in TMVA::DNN::CNN::TConvLayer< Architecture_t >, TMVA::DNN::CNN::TMaxPoolLayer< Architecture_t >, TMVA::DNN::TDenseLayer< Architecture_t >, TMVA::DNN::TReshapeLayer< Architecture_t >, and TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >.
|
inline |
Setters.
Definition at line 192 of file GeneralLayer.h.
|
inline |
Definition at line 196 of file GeneralLayer.h.
|
inlinevirtual |
Set Dropout probability.
Reimplemented for layesrs supporting droput
Reimplemented in TMVA::DNN::TDenseLayer< Architecture_t >.
Definition at line 141 of file GeneralLayer.h.
|
inline |
Definition at line 197 of file GeneralLayer.h.
|
inline |
Definition at line 193 of file GeneralLayer.h.
|
inline |
Definition at line 194 of file GeneralLayer.h.
|
inline |
Definition at line 195 of file GeneralLayer.h.
|
inline |
Definition at line 199 of file GeneralLayer.h.
|
inline |
Definition at line 198 of file GeneralLayer.h.
auto TMVA::DNN::VGeneralLayer< Architecture_t >::Update | ( | const Scalar_t | learningRate | ) |
Updates the weights and biases, given the learning rate.
Definition at line 391 of file GeneralLayer.h.
auto TMVA::DNN::VGeneralLayer< Architecture_t >::UpdateBiases | ( | const std::vector< Matrix_t > & | biasGradients, |
const Scalar_t | learningRate | ||
) |
Updates the biases, given the gradients and the learning rate.
Definition at line 409 of file GeneralLayer.h.
auto TMVA::DNN::VGeneralLayer< Architecture_t >::UpdateBiasGradients | ( | const std::vector< Matrix_t > & | biasGradients, |
const Scalar_t | learningRate | ||
) |
Updates the bias gradients, given some other weight gradients and learning rate.
Definition at line 429 of file GeneralLayer.h.
auto TMVA::DNN::VGeneralLayer< Architecture_t >::UpdateWeightGradients | ( | const std::vector< Matrix_t > & | weightGradients, |
const Scalar_t | learningRate | ||
) |
Updates the weight gradients, given some other weight gradients and learning rate.
Definition at line 419 of file GeneralLayer.h.
auto TMVA::DNN::VGeneralLayer< Architecture_t >::UpdateWeights | ( | const std::vector< Matrix_t > & | weightGradients, |
const Scalar_t | learningRate | ||
) |
Updates the weights, given the gradients and the learning rate,.
Definition at line 399 of file GeneralLayer.h.
auto TMVA::DNN::VGeneralLayer< Architecture_t >::WriteMatrixToXML | ( | void * | node, |
const char * | name, | ||
const Matrix_t & | matrix | ||
) |
Definition at line 483 of file GeneralLayer.h.
auto TMVA::DNN::VGeneralLayer< Architecture_t >::WriteTensorToXML | ( | void * | node, |
const char * | name, | ||
const std::vector< Matrix_t > & | tensor | ||
) |
helper functions for XML
Definition at line 459 of file GeneralLayer.h.
|
protected |
Gradients w.r.t. the activations of this layer.
Definition at line 70 of file GeneralLayer.h.
|
protected |
Batch size used for training and evaluation.
Definition at line 51 of file GeneralLayer.h.
|
protected |
The biases associated to the layer.
Definition at line 64 of file GeneralLayer.h.
|
protected |
Gradients w.r.t. the bias values of the layer.
Definition at line 67 of file GeneralLayer.h.
|
protected |
The depth of the layer.
Definition at line 57 of file GeneralLayer.h.
|
protected |
The height of the layer.
Definition at line 58 of file GeneralLayer.h.
|
protected |
The initialization method.
Definition at line 72 of file GeneralLayer.h.
|
protected |
The depth of the previous layer or input.
Definition at line 53 of file GeneralLayer.h.
|
protected |
The height of the previous layer or input.
Definition at line 54 of file GeneralLayer.h.
|
protected |
The width of the previous layer or input.
Definition at line 55 of file GeneralLayer.h.
|
protected |
Flag indicatig the mode.
Definition at line 61 of file GeneralLayer.h.
|
protected |
Activations of this layer.
Definition at line 69 of file GeneralLayer.h.
|
protected |
Gradients w.r.t. the weights of the layer.
Definition at line 66 of file GeneralLayer.h.
|
protected |
The weights associated to the layer.
Definition at line 63 of file GeneralLayer.h.
|
protected |
The width of this layer.
Definition at line 59 of file GeneralLayer.h.