ROOT 6.14/05 Reference Guide |
Generic General Layer class.
This class represents the general class for all layers in the Deep Learning Module.
Definition at line 45 of file GeneralLayer.h.
Public Member Functions | |
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 | 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... | |
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 |
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... | |
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 46 of file GeneralLayer.h.
|
private |
Definition at line 47 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 210 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 238 of file GeneralLayer.h.
TMVA::DNN::VGeneralLayer< Architecture_t >::VGeneralLayer | ( | VGeneralLayer< Architecture_t > * | layer | ) |
Copy the layer provided as a pointer.
Definition at line 267 of file GeneralLayer.h.
TMVA::DNN::VGeneralLayer< Architecture_t >::VGeneralLayer | ( | const VGeneralLayer< Architecture_t > & | layer | ) |
Copy Constructor.
Definition at line 316 of file GeneralLayer.h.
|
virtual |
Virtual Destructor.
Definition at line 365 of file GeneralLayer.h.
|
pure virtual |
Writes the information and the weights about the layer in an XML node.
Implemented in TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >, TMVA::DNN::CNN::TConvLayer< Architecture_t >, TMVA::DNN::CNN::TMaxPoolLayer< Architecture_t >, TMVA::DNN::TDenseLayer< Architecture_t >, and TMVA::DNN::TReshapeLayer< 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 445 of file GeneralLayer.h.
auto TMVA::DNN::VGeneralLayer< Architecture_t >::CopyWeights | ( | const std::vector< Matrix_t > & | otherWeights | ) |
Copies the weights provided as an input.
Definition at line 435 of file GeneralLayer.h.
|
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 176 of file GeneralLayer.h.
|
inline |
Definition at line 177 of file GeneralLayer.h.
|
inline |
Definition at line 182 of file GeneralLayer.h.
|
inline |
Definition at line 183 of file GeneralLayer.h.
|
inline |
Getters.
Definition at line 140 of file GeneralLayer.h.
|
inline |
Definition at line 155 of file GeneralLayer.h.
|
inline |
Definition at line 156 of file GeneralLayer.h.
|
inline |
Definition at line 158 of file GeneralLayer.h.
|
inline |
Definition at line 159 of file GeneralLayer.h.
|
inline |
Definition at line 167 of file GeneralLayer.h.
|
inline |
Definition at line 168 of file GeneralLayer.h.
|
inline |
Definition at line 170 of file GeneralLayer.h.
|
inline |
Definition at line 171 of file GeneralLayer.h.
|
inline |
Definition at line 144 of file GeneralLayer.h.
|
inline |
Definition at line 145 of file GeneralLayer.h.
|
inline |
Definition at line 185 of file GeneralLayer.h.
|
inline |
Definition at line 141 of file GeneralLayer.h.
|
inline |
Definition at line 142 of file GeneralLayer.h.
|
inline |
Definition at line 143 of file GeneralLayer.h.
|
inline |
Definition at line 173 of file GeneralLayer.h.
|
inline |
Definition at line 174 of file GeneralLayer.h.
|
inline |
Definition at line 179 of file GeneralLayer.h.
|
inline |
Definition at line 180 of file GeneralLayer.h.
|
inline |
Definition at line 161 of file GeneralLayer.h.
|
inline |
Definition at line 162 of file GeneralLayer.h.
|
inline |
Definition at line 164 of file GeneralLayer.h.
|
inline |
Definition at line 165 of file GeneralLayer.h.
|
inline |
Definition at line 149 of file GeneralLayer.h.
|
inline |
Definition at line 150 of file GeneralLayer.h.
|
inline |
Definition at line 152 of file GeneralLayer.h.
|
inline |
Definition at line 153 of file GeneralLayer.h.
|
inline |
Definition at line 146 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 372 of file GeneralLayer.h.
|
inline |
Definition at line 147 of file GeneralLayer.h.
|
pure virtual |
Prints the info about the layer.
Implemented in TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >, TMVA::DNN::CNN::TMaxPoolLayer< Architecture_t >, TMVA::DNN::CNN::TConvLayer< Architecture_t >, TMVA::DNN::TDenseLayer< Architecture_t >, and TMVA::DNN::TReshapeLayer< Architecture_t >.
auto TMVA::DNN::VGeneralLayer< Architecture_t >::ReadMatrixXML | ( | void * | node, |
const char * | name, | ||
Matrix_t & | matrix | ||
) |
Definition at line 502 of file GeneralLayer.h.
|
pure virtual |
Read the information and the weights about the layer from XML node.
Implemented in TMVA::DNN::RNN::TBasicRNNLayer< Architecture_t >, TMVA::DNN::CNN::TConvLayer< Architecture_t >, TMVA::DNN::CNN::TMaxPoolLayer< Architecture_t >, TMVA::DNN::TDenseLayer< Architecture_t >, and TMVA::DNN::TReshapeLayer< Architecture_t >.
|
inline |
Setters.
Definition at line 188 of file GeneralLayer.h.
|
inline |
Definition at line 192 of file GeneralLayer.h.
|
inline |
Definition at line 193 of file GeneralLayer.h.
|
inline |
Definition at line 189 of file GeneralLayer.h.
|
inline |
Definition at line 190 of file GeneralLayer.h.
|
inline |
Definition at line 191 of file GeneralLayer.h.
|
inline |
Definition at line 195 of file GeneralLayer.h.
|
inline |
Definition at line 194 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 387 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 405 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 425 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 415 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 395 of file GeneralLayer.h.
auto TMVA::DNN::VGeneralLayer< Architecture_t >::WriteMatrixToXML | ( | void * | node, |
const char * | name, | ||
const Matrix_t & | matrix | ||
) |
Definition at line 479 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 455 of file GeneralLayer.h.
|
protected |
Gradients w.r.t. the activations of this layer.
Definition at line 69 of file GeneralLayer.h.
|
protected |
Batch size used for training and evaluation.
Definition at line 50 of file GeneralLayer.h.
|
protected |
The biases associated to the layer.
Definition at line 63 of file GeneralLayer.h.
|
protected |
Gradients w.r.t. the bias values of the layer.
Definition at line 66 of file GeneralLayer.h.
|
protected |
The depth of the layer.
Definition at line 56 of file GeneralLayer.h.
|
protected |
The height of the layer.
Definition at line 57 of file GeneralLayer.h.
|
protected |
The initialization method.
Definition at line 71 of file GeneralLayer.h.
|
protected |
The depth of the previous layer or input.
Definition at line 52 of file GeneralLayer.h.
|
protected |
The height of the previous layer or input.
Definition at line 53 of file GeneralLayer.h.
|
protected |
The width of the previous layer or input.
Definition at line 54 of file GeneralLayer.h.
|
protected |
Flag indicatig the mode.
Definition at line 60 of file GeneralLayer.h.
|
protected |
Activations of this layer.
Definition at line 68 of file GeneralLayer.h.
|
protected |
Gradients w.r.t. the weights of the layer.
Definition at line 65 of file GeneralLayer.h.
|
protected |
The weights associated to the layer.
Definition at line 62 of file GeneralLayer.h.
|
protected |
The width of this layer.
Definition at line 58 of file GeneralLayer.h.