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 |
using | Tensor_t = typename Architecture_t::Tensor_t |
Public Member Functions | |
TReshapeLayer (const TReshapeLayer &) | |
Copy Constructor. | |
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. | |
TReshapeLayer (TReshapeLayer< Architecture_t > *layer) | |
Copy the reshape layer provided as a pointer. | |
~TReshapeLayer () | |
Destructor. | |
virtual void | AddWeightsXMLTo (void *parent) |
Writes the information and the weights about the layer in an XML node. | |
void | Backward (Tensor_t &gradients_backward, const Tensor_t &activations_backward) |
Backpropagates the error. | |
void | Forward (Tensor_t &input, bool applyDropout=false) |
The input must be in 3D tensor form with the different matrices corresponding to different events in the batch. | |
bool | isFlattening () const |
TODO Add documentation Does this layer flatten? (necessary for DenseLayer) B x D1 x D2 --> 1 x B x (D1 * D2) | |
void | Print () const |
Prints the info about the layer. | |
virtual void | ReadWeightsFromXML (void *parent) |
Read the information and the weights about the layer from XML node. | |
Public Member Functions inherited from TMVA::DNN::VGeneralLayer< Architecture_t > | |
VGeneralLayer (const VGeneralLayer &) | |
Copy Constructor. | |
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. | |
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. | |
VGeneralLayer (VGeneralLayer< Architecture_t > *layer) | |
Copy the layer provided as a pointer. | |
virtual | ~VGeneralLayer () |
Virtual Destructor. | |
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. | |
Tensor_t & | GetActivationGradients () |
const Tensor_t & | GetActivationGradients () const |
Matrix_t | GetActivationGradientsAt (size_t i) |
const Matrix_t & | GetActivationGradientsAt (size_t i) const |
size_t | GetBatchSize () const |
Getters. | |
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 |
virtual std::vector< Matrix_t > | GetExtraLayerParameters () const |
size_t | GetHeight () const |
EInitialization | GetInitialization () const |
size_t | GetInputDepth () const |
size_t | GetInputHeight () const |
size_t | GetInputWidth () const |
Tensor_t & | GetOutput () |
const Tensor_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 |
virtual void | Initialize () |
Initialize the weights and biases according to the given initialization method. | |
bool | IsTraining () const |
void | ReadMatrixXML (void *node, const char *name, Matrix_t &matrix) |
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) |
Updates the weights and biases, given the learning rate. | |
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 | |
Private Attributes | |
bool | fFlattening |
Whether the layer is doing flattening. | |
Additional Inherited Members | |
Protected Attributes inherited from TMVA::DNN::VGeneralLayer< Architecture_t > | |
Tensor_t | fActivationGradients |
Gradients w.r.t. the activations of this layer. | |
size_t | fBatchSize |
Batch size used for training and evaluation. | |
std::vector< Matrix_t > | fBiases |
The biases associated to the layer. | |
std::vector< Matrix_t > | fBiasGradients |
Gradients w.r.t. the bias values of the layer. | |
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_t > | fWeightGradients |
Gradients w.r.t. the weights of the layer. | |
std::vector< Matrix_t > | fWeights |
The weights associated to the layer. | |
size_t | fWidth |
The width of this layer. | |
#include <TMVA/DNN/ReshapeLayer.h>
using TMVA::DNN::TReshapeLayer< Architecture_t >::Matrix_t = typename Architecture_t::Matrix_t |
Definition at line 44 of file ReshapeLayer.h.
using TMVA::DNN::TReshapeLayer< Architecture_t >::Scalar_t = typename Architecture_t::Scalar_t |
Definition at line 45 of file ReshapeLayer.h.
using TMVA::DNN::TReshapeLayer< Architecture_t >::Tensor_t = typename Architecture_t::Tensor_t |
Definition at line 43 of file ReshapeLayer.h.
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 94 of file ReshapeLayer.h.
TMVA::DNN::TReshapeLayer< Architecture_t >::TReshapeLayer | ( | TReshapeLayer< Architecture_t > * | layer | ) |
Copy the reshape layer provided as a pointer.
Definition at line 112 of file ReshapeLayer.h.
TMVA::DNN::TReshapeLayer< Architecture_t >::TReshapeLayer | ( | const TReshapeLayer< Architecture_t > & | layer | ) |
Copy Constructor.
Definition at line 119 of file ReshapeLayer.h.
TMVA::DNN::TReshapeLayer< Architecture_t >::~TReshapeLayer |
Destructor.
Definition at line 127 of file ReshapeLayer.h.
|
virtual |
Writes the information and the weights about the layer in an XML node.
Implements TMVA::DNN::VGeneralLayer< Architecture_t >.
Definition at line 180 of file ReshapeLayer.h.
|
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.
|
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 134 of file ReshapeLayer.h.
|
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 86 of file ReshapeLayer.h.
|
virtual |
Prints the info about the layer.
Implements TMVA::DNN::VGeneralLayer< Architecture_t >.
Definition at line 169 of file ReshapeLayer.h.
|
virtual |
Read the information and the weights about the layer from XML node.
Implements TMVA::DNN::VGeneralLayer< Architecture_t >.
Definition at line 195 of file ReshapeLayer.h.
|
private |
Whether the layer is doing flattening.
Definition at line 48 of file ReshapeLayer.h.