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

template<typename Architecture_t>
class TMVA::DNN::CNN::TConvLayer< Architecture_t >

Definition at line 75 of file ConvLayer.h.

Public Types

using AlgorithmBackward_t = typename Architecture_t::AlgorithmBackward_t
using AlgorithmDataType_t = typename Architecture_t::AlgorithmDataType_t
using AlgorithmForward_t = typename Architecture_t::AlgorithmForward_t
using AlgorithmHelper_t = typename Architecture_t::AlgorithmHelper_t
using HelperDescriptor_t = typename Architecture_t::ActivationDescriptor_t
using LayerDescriptor_t = typename Architecture_t::ConvolutionDescriptor_t
using Matrix_t = typename Architecture_t::Matrix_t
using ReduceTensorDescriptor_t = typename Architecture_t::ReduceTensorDescriptor_t
using Scalar_t = typename Architecture_t::Scalar_t
using Tensor_t = typename Architecture_t::Tensor_t
using WeightsDescriptor_t = typename Architecture_t::FilterDescriptor_t

Public Member Functions

 TConvLayer (const TConvLayer &)
 Copy constructor.
 TConvLayer (size_t BatchSize, size_t InputDepth, size_t InputHeight, size_t InputWidth, size_t Depth, EInitialization Init, size_t FilterHeight, size_t FilterWidth, size_t StrideRows, size_t StrideCols, size_t PaddingHeight, size_t PaddingWidth, Scalar_t DropoutProbability, EActivationFunction f, ERegularization Reg, Scalar_t WeightDecay)
 Constructor.
 TConvLayer (TConvLayer< Architecture_t > *layer)
 Copy the conv layer provided as a pointer.
virtual ~TConvLayer ()
 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
 Compute weight, bias and activation gradients.
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.
void Forward (Tensor_t &input, bool applyDropout=false) override
 Computes activation of the layer for the given input.
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
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
TDescriptorsGetDescriptors ()
const TDescriptorsGetDescriptors () const
Scalar_t GetDropoutProbability () const
virtual std::vector< Matrix_tGetExtraLayerParameters () const
size_t GetFilterDepth () const
 Getters.
size_t GetFilterHeight () const
size_t GetFilterWidth () const
Tensor_tGetForwardMatrices ()
const Tensor_tGetForwardMatrices () const
size_t GetHeight () const
EInitialization GetInitialization () const
Tensor_tGetInputActivation ()
const Tensor_tGetInputActivation () const
Matrix_tGetInputActivationAt (size_t i)
const Matrix_tGetInputActivationAt (size_t i) const
size_t GetInputDepth () const
size_t GetInputHeight () const
size_t GetInputWidth () const
size_t GetNLocalViewPixels () const
size_t GetNLocalViews () const
Tensor_tGetOutput ()
const Tensor_tGetOutput () const
Matrix_t GetOutputAt (size_t i)
const Matrix_tGetOutputAt (size_t i) const
size_t GetPaddingHeight () const
size_t GetPaddingWidth () const
ERegularization GetRegularization () const
size_t GetStrideCols () const
size_t GetStrideRows () const
Scalar_t GetWeightDecay () 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
TWorkspaceGetWorkspace ()
const TWorkspaceGetWorkspace () const
virtual void Initialize ()
 Initialize the weights and biases according to the given initialization method.
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)
 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

Static Public Member Functions

static size_t calculateDimension (size_t imgDim, size_t fltDim, size_t padding, size_t stride)
static size_t calculateNLocalViewPixels (size_t depth, size_t height, size_t width)
static size_t calculateNLocalViews (size_t inputHeight, size_t filterHeight, size_t paddingHeight, size_t strideRows, size_t inputWidth, size_t filterWidth, size_t paddingWidth, size_t strideCols)

Protected Attributes

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_tfBiases
 The biases associated to the layer.
std::vector< Matrix_tfBiasGradients
 Gradients w.r.t. the bias values of the layer.
size_t fDepth
 The depth of the layer.
TDescriptorsfDescriptors = nullptr
 Keeps the convolution, activations and filter descriptors.
Scalar_t fDropoutProbability
 Probability that an input is active.
size_t fFilterDepth
 The depth of the filter.
size_t fFilterHeight
 The height of the filter.
size_t fFilterWidth
 The width of the filter.
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.
size_t fNLocalViewPixels
 The number of pixels in one local image view.
size_t fNLocalViews
 The number of local views in one image.
Tensor_t fOutput
 Activations of this layer.
size_t fStrideCols
 The number of column pixels to slid the filter each step.
size_t fStrideRows
 The number of row pixels to slid the filter each step.
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.
TWorkspacefWorkspace = nullptr

Private Member Functions

void FreeWorkspace ()
void InitializeDescriptors ()
void InitializeWorkspace ()
void ReleaseDescriptors ()

Private Attributes

std::vector< intfBackwardIndices
 Vector of indices used for a fast Im2Col in backward pass.
EActivationFunction fF
 Activation function of the layer.
Tensor_t fForwardTensor
 Cache tensor used for speeding-up the forward pass.
Tensor_t fInputActivation
 First output of this layer after conv, before activation.
size_t fPaddingHeight
 The number of zero layers added top and bottom of the input.
size_t fPaddingWidth
 The number of zero layers left and right of the input.
ERegularization fReg
 The regularization method.
Scalar_t fWeightDecay
 The weight decay.

#include <TMVA/DNN/CNN/ConvLayer.h>

Inheritance diagram for TMVA::DNN::CNN::TConvLayer< Architecture_t >:
TMVA::DNN::VGeneralLayer< Architecture_t >

Member Typedef Documentation

◆ AlgorithmBackward_t

template<typename Architecture_t>
using TMVA::DNN::CNN::TConvLayer< Architecture_t >::AlgorithmBackward_t = typename Architecture_t::AlgorithmBackward_t

Definition at line 86 of file ConvLayer.h.

◆ AlgorithmDataType_t

template<typename Architecture_t>
using TMVA::DNN::CNN::TConvLayer< Architecture_t >::AlgorithmDataType_t = typename Architecture_t::AlgorithmDataType_t

Definition at line 91 of file ConvLayer.h.

◆ AlgorithmForward_t

template<typename Architecture_t>
using TMVA::DNN::CNN::TConvLayer< Architecture_t >::AlgorithmForward_t = typename Architecture_t::AlgorithmForward_t

Definition at line 85 of file ConvLayer.h.

◆ AlgorithmHelper_t

template<typename Architecture_t>
using TMVA::DNN::CNN::TConvLayer< Architecture_t >::AlgorithmHelper_t = typename Architecture_t::AlgorithmHelper_t

Definition at line 87 of file ConvLayer.h.

◆ HelperDescriptor_t

template<typename Architecture_t>
using TMVA::DNN::CNN::TConvLayer< Architecture_t >::HelperDescriptor_t = typename Architecture_t::ActivationDescriptor_t

Definition at line 83 of file ConvLayer.h.

◆ LayerDescriptor_t

template<typename Architecture_t>
using TMVA::DNN::CNN::TConvLayer< Architecture_t >::LayerDescriptor_t = typename Architecture_t::ConvolutionDescriptor_t

Definition at line 81 of file ConvLayer.h.

◆ Matrix_t

template<typename Architecture_t>
using TMVA::DNN::CNN::TConvLayer< Architecture_t >::Matrix_t = typename Architecture_t::Matrix_t

Definition at line 78 of file ConvLayer.h.

◆ ReduceTensorDescriptor_t

template<typename Architecture_t>
using TMVA::DNN::CNN::TConvLayer< Architecture_t >::ReduceTensorDescriptor_t = typename Architecture_t::ReduceTensorDescriptor_t

Definition at line 88 of file ConvLayer.h.

◆ Scalar_t

template<typename Architecture_t>
using TMVA::DNN::CNN::TConvLayer< Architecture_t >::Scalar_t = typename Architecture_t::Scalar_t

Definition at line 79 of file ConvLayer.h.

◆ Tensor_t

template<typename Architecture_t>
using TMVA::DNN::CNN::TConvLayer< Architecture_t >::Tensor_t = typename Architecture_t::Tensor_t

Definition at line 77 of file ConvLayer.h.

◆ WeightsDescriptor_t

template<typename Architecture_t>
using TMVA::DNN::CNN::TConvLayer< Architecture_t >::WeightsDescriptor_t = typename Architecture_t::FilterDescriptor_t

Definition at line 82 of file ConvLayer.h.

Constructor & Destructor Documentation

◆ TConvLayer() [1/3]

template<typename Architecture_t>
TMVA::DNN::CNN::TConvLayer< Architecture_t >::TConvLayer ( size_t BatchSize,
size_t InputDepth,
size_t InputHeight,
size_t InputWidth,
size_t Depth,
EInitialization Init,
size_t FilterHeight,
size_t FilterWidth,
size_t StrideRows,
size_t StrideCols,
size_t PaddingHeight,
size_t PaddingWidth,
Scalar_t DropoutProbability,
EActivationFunction f,
ERegularization Reg,
Scalar_t WeightDecay )

Constructor.

Definition at line 222 of file ConvLayer.h.

◆ TConvLayer() [2/3]

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

Copy the conv layer provided as a pointer.

Definition at line 257 of file ConvLayer.h.

◆ TConvLayer() [3/3]

template<typename Architecture_t>
TMVA::DNN::CNN::TConvLayer< Architecture_t >::TConvLayer ( const TConvLayer< Architecture_t > & convLayer)

Copy constructor.

Definition at line 276 of file ConvLayer.h.

◆ ~TConvLayer()

template<typename Architecture_t>
TMVA::DNN::CNN::TConvLayer< Architecture_t >::~TConvLayer ( )
virtual

Destructor.

Definition at line 294 of file ConvLayer.h.

Member Function Documentation

◆ AddWeightsXMLTo()

template<typename Architecture_t>
void TMVA::DNN::CNN::TConvLayer< 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 369 of file ConvLayer.h.

◆ Backward()

template<typename Architecture_t>
auto TMVA::DNN::CNN::TConvLayer< Architecture_t >::Backward ( Tensor_t & gradients_backward,
const Tensor_t & activations_backward )
overridevirtual

Compute weight, bias and activation gradients.

Uses the precomputed first partial derivatives of the activation function computed during forward propagation and modifies them. Must only be called directly at the corresponding call to Forward(...).

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

Definition at line 326 of file ConvLayer.h.

◆ calculateDimension()

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::calculateDimension ( size_t imgDim,
size_t fltDim,
size_t padding,
size_t stride )
static

Definition at line 402 of file ConvLayer.h.

◆ calculateNLocalViewPixels()

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::calculateNLocalViewPixels ( size_t depth,
size_t height,
size_t width )
inlinestatic

Definition at line 97 of file ConvLayer.h.

◆ calculateNLocalViews()

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::calculateNLocalViews ( size_t inputHeight,
size_t filterHeight,
size_t paddingHeight,
size_t strideRows,
size_t inputWidth,
size_t filterWidth,
size_t paddingWidth,
size_t strideCols )
static

Definition at line 413 of file ConvLayer.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.

◆ Forward()

template<typename Architecture_t>
auto TMVA::DNN::CNN::TConvLayer< Architecture_t >::Forward ( Tensor_t & input,
bool applyDropout = false )
overridevirtual

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. Computes activations as well as the first partial derivative of the activation function at those activations.

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

Definition at line 311 of file ConvLayer.h.

◆ FreeWorkspace()

template<typename Architecture_t>
void TMVA::DNN::CNN::TConvLayer< Architecture_t >::FreeWorkspace ( )
private

Definition at line 445 of file ConvLayer.h.

◆ GetActivationFunction()

template<typename Architecture_t>
EActivationFunction TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetActivationFunction ( ) const
inline

Definition at line 204 of file ConvLayer.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.

◆ 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.

◆ GetDepth()

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

Definition at line 167 of file GeneralLayer.h.

◆ GetDescriptors() [1/2]

template<typename Architecture_t>
TDescriptors * TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetDescriptors ( )
inline

Definition at line 209 of file ConvLayer.h.

◆ GetDescriptors() [2/2]

template<typename Architecture_t>
const TDescriptors * TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetDescriptors ( ) const
inline

Definition at line 210 of file ConvLayer.h.

◆ GetDropoutProbability()

template<typename Architecture_t>
Scalar_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetDropoutProbability ( ) const
inline

Definition at line 193 of file ConvLayer.h.

◆ GetExtraLayerParameters()

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

◆ GetFilterDepth()

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetFilterDepth ( ) const
inline

Getters.

Definition at line 180 of file ConvLayer.h.

◆ GetFilterHeight()

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetFilterHeight ( ) const
inline

Definition at line 181 of file ConvLayer.h.

◆ GetFilterWidth()

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetFilterWidth ( ) const
inline

Definition at line 182 of file ConvLayer.h.

◆ GetForwardMatrices() [1/2]

template<typename Architecture_t>
Tensor_t & TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetForwardMatrices ( )
inline

Definition at line 202 of file ConvLayer.h.

◆ GetForwardMatrices() [2/2]

template<typename Architecture_t>
const Tensor_t & TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetForwardMatrices ( ) const
inline

Definition at line 201 of file ConvLayer.h.

◆ 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.

◆ GetInputActivation() [1/2]

template<typename Architecture_t>
Tensor_t & TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetInputActivation ( )
inline

Definition at line 196 of file ConvLayer.h.

◆ GetInputActivation() [2/2]

template<typename Architecture_t>
const Tensor_t & TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetInputActivation ( ) const
inline

Definition at line 195 of file ConvLayer.h.

◆ GetInputActivationAt() [1/2]

template<typename Architecture_t>
Matrix_t & TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetInputActivationAt ( size_t i)
inline

Definition at line 198 of file ConvLayer.h.

◆ GetInputActivationAt() [2/2]

template<typename Architecture_t>
const Matrix_t & TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetInputActivationAt ( size_t i) const
inline

Definition at line 199 of file ConvLayer.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.

◆ GetInputWidth()

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

Definition at line 166 of file GeneralLayer.h.

◆ GetNLocalViewPixels()

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetNLocalViewPixels ( ) const
inline

Definition at line 190 of file ConvLayer.h.

◆ GetNLocalViews()

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetNLocalViews ( ) const
inline

Definition at line 191 of file ConvLayer.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.

◆ GetPaddingHeight()

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetPaddingHeight ( ) const
inline

Definition at line 187 of file ConvLayer.h.

◆ GetPaddingWidth()

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetPaddingWidth ( ) const
inline

Definition at line 188 of file ConvLayer.h.

◆ GetRegularization()

template<typename Architecture_t>
ERegularization TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetRegularization ( ) const
inline

Definition at line 205 of file ConvLayer.h.

◆ GetStrideCols()

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetStrideCols ( ) const
inline

Definition at line 185 of file ConvLayer.h.

◆ GetStrideRows()

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetStrideRows ( ) const
inline

Definition at line 184 of file ConvLayer.h.

◆ GetWeightDecay()

template<typename Architecture_t>
Scalar_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetWeightDecay ( ) const
inline

Definition at line 206 of file ConvLayer.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.

◆ 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.

◆ GetWidth()

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

Definition at line 169 of file GeneralLayer.h.

◆ GetWorkspace() [1/2]

template<typename Architecture_t>
TWorkspace * TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetWorkspace ( )
inline

Definition at line 212 of file ConvLayer.h.

◆ GetWorkspace() [2/2]

template<typename Architecture_t>
const TWorkspace * TMVA::DNN::CNN::TConvLayer< Architecture_t >::GetWorkspace ( ) const
inline

Definition at line 213 of file ConvLayer.h.

◆ Initialize()

template<typename Architecture_t>
auto TMVA::DNN::VGeneralLayer< Architecture_t >::Initialize ( )
virtualinherited

◆ InitializeDescriptors()

template<typename Architecture_t>
void TMVA::DNN::CNN::TConvLayer< Architecture_t >::InitializeDescriptors ( )
private

Definition at line 425 of file ConvLayer.h.

◆ InitializeWorkspace()

template<typename Architecture_t>
void TMVA::DNN::CNN::TConvLayer< Architecture_t >::InitializeWorkspace ( )
private

Definition at line 436 of file ConvLayer.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::CNN::TConvLayer< Architecture_t >::Print ( ) const
overridevirtual

Prints the info about the layer.

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

Definition at line 347 of file ConvLayer.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::CNN::TConvLayer< 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 393 of file ConvLayer.h.

◆ ReleaseDescriptors()

template<typename Architecture_t>
void TMVA::DNN::CNN::TConvLayer< Architecture_t >::ReleaseDescriptors ( )
private

Definition at line 430 of file ConvLayer.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>
auto TMVA::DNN::VGeneralLayer< Architecture_t >::Update ( const Scalar_t learningRate)
inherited

Updates the weights and biases, given the learning rate.

Definition at line 410 of file GeneralLayer.h.

◆ 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

◆ 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.

◆ fBackwardIndices

template<typename Architecture_t>
std::vector<int> TMVA::DNN::CNN::TConvLayer< Architecture_t >::fBackwardIndices
private

Vector of indices used for a fast Im2Col in backward pass.

Definition at line 125 of file ConvLayer.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>
std::vector<Matrix_t> TMVA::DNN::VGeneralLayer< Architecture_t >::fBiases
protectedinherited

The biases associated to the layer.

Definition at line 72 of file GeneralLayer.h.

◆ fBiasGradients

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

Gradients w.r.t. the bias values of the layer.

Definition at line 75 of file GeneralLayer.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.

◆ fDescriptors

template<typename Architecture_t>
TDescriptors* TMVA::DNN::CNN::TConvLayer< Architecture_t >::fDescriptors = nullptr
protected

Keeps the convolution, activations and filter descriptors.

Definition at line 116 of file ConvLayer.h.

◆ fDropoutProbability

template<typename Architecture_t>
Scalar_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::fDropoutProbability
protected

Probability that an input is active.

Definition at line 114 of file ConvLayer.h.

◆ fF

template<typename Architecture_t>
EActivationFunction TMVA::DNN::CNN::TConvLayer< Architecture_t >::fF
private

Activation function of the layer.

Definition at line 127 of file ConvLayer.h.

◆ fFilterDepth

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::fFilterDepth
protected

The depth of the filter.

Definition at line 104 of file ConvLayer.h.

◆ fFilterHeight

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::fFilterHeight
protected

The height of the filter.

Definition at line 105 of file ConvLayer.h.

◆ fFilterWidth

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::fFilterWidth
protected

The width of the filter.

Definition at line 106 of file ConvLayer.h.

◆ fForwardTensor

template<typename Architecture_t>
Tensor_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::fForwardTensor
private

Cache tensor used for speeding-up the forward pass.

Definition at line 131 of file ConvLayer.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.

◆ fInputActivation

template<typename Architecture_t>
Tensor_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::fInputActivation
private

First output of this layer after conv, before activation.

Definition at line 123 of file ConvLayer.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.

◆ fNLocalViewPixels

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::fNLocalViewPixels
protected

The number of pixels in one local image view.

Definition at line 111 of file ConvLayer.h.

◆ fNLocalViews

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::fNLocalViews
protected

The number of local views in one image.

Definition at line 112 of file ConvLayer.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.

◆ fPaddingHeight

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::fPaddingHeight
private

The number of zero layers added top and bottom of the input.

Definition at line 120 of file ConvLayer.h.

◆ fPaddingWidth

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::fPaddingWidth
private

The number of zero layers left and right of the input.

Definition at line 121 of file ConvLayer.h.

◆ fReg

template<typename Architecture_t>
ERegularization TMVA::DNN::CNN::TConvLayer< Architecture_t >::fReg
private

The regularization method.

Definition at line 128 of file ConvLayer.h.

◆ fStrideCols

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::fStrideCols
protected

The number of column pixels to slid the filter each step.

Definition at line 109 of file ConvLayer.h.

◆ fStrideRows

template<typename Architecture_t>
size_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::fStrideRows
protected

The number of row pixels to slid the filter each step.

Definition at line 108 of file ConvLayer.h.

◆ fWeightDecay

template<typename Architecture_t>
Scalar_t TMVA::DNN::CNN::TConvLayer< Architecture_t >::fWeightDecay
private

The weight decay.

Definition at line 129 of file ConvLayer.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.

◆ 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.

◆ 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::CNN::TConvLayer< Architecture_t >::fWorkspace = nullptr
protected

Definition at line 118 of file ConvLayer.h.


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