mlpack
Public Member Functions | List of all members
mlpack::ann::Linear< InputDataType, OutputDataType, RegularizerType > Class Template Reference

Implementation of the Linear layer class. More...

#include <linear.hpp>

Public Member Functions

 Linear ()
 Create the Linear object.
 
 Linear (const size_t inSize, const size_t outSize, RegularizerType regularizer=RegularizerType())
 Create the Linear layer object using the specified number of units. More...
 
 Linear (const Linear &layer)
 Copy constructor.
 
 Linear (Linear &&)
 Move constructor.
 
Linearoperator= (const Linear &layer)
 Copy assignment operator.
 
Linearoperator= (Linear &&layer)
 Move assignment operator.
 
void Reset ()
 
template<typename eT >
void Forward (const arma::Mat< eT > &input, arma::Mat< eT > &output)
 Ordinary feed forward pass of a neural network, evaluating the function f(x) by propagating the activity forward through f. More...
 
template<typename eT >
void Backward (const arma::Mat< eT > &, const arma::Mat< eT > &gy, arma::Mat< eT > &g)
 Ordinary feed backward pass of a neural network, calculating the function f(x) by propagating x backwards trough f. More...
 
template<typename eT >
void Gradient (const arma::Mat< eT > &input, const arma::Mat< eT > &error, arma::Mat< eT > &gradient)
 
OutputDataType const & Parameters () const
 Get the parameters.
 
OutputDataType & Parameters ()
 Modify the parameters.
 
InputDataType const & InputParameter () const
 Get the input parameter.
 
InputDataType & InputParameter ()
 Modify the input parameter.
 
OutputDataType const & OutputParameter () const
 Get the output parameter.
 
OutputDataType & OutputParameter ()
 Modify the output parameter.
 
OutputDataType const & Delta () const
 Get the delta.
 
OutputDataType & Delta ()
 Modify the delta.
 
size_t InputSize () const
 Get the input size.
 
size_t OutputSize () const
 Get the output size.
 
OutputDataType const & Gradient () const
 Get the gradient.
 
OutputDataType & Gradient ()
 Modify the gradient.
 
OutputDataType const & Weight () const
 Get the weight of the layer.
 
OutputDataType & Weight ()
 Modify the weight of the layer.
 
OutputDataType const & Bias () const
 Get the bias of the layer.
 
OutputDataType & Bias ()
 Modify the bias weights of the layer.
 
size_t WeightSize () const
 Get the size of the weights.
 
size_t InputShape () const
 Get the shape of the input.
 
template<typename Archive >
void serialize (Archive &ar, const uint32_t)
 Serialize the layer.
 

Detailed Description

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat, typename RegularizerType = NoRegularizer>
class mlpack::ann::Linear< InputDataType, OutputDataType, RegularizerType >

Implementation of the Linear layer class.

The Linear class represents a single layer of a neural network.

Template Parameters
InputDataTypeType of the input data (arma::colvec, arma::mat, arma::sp_mat or arma::cube).
OutputDataTypeType of the output data (arma::colvec, arma::mat, arma::sp_mat or arma::cube).

Constructor & Destructor Documentation

◆ Linear()

template<typename InputDataType , typename OutputDataType , typename RegularizerType >
mlpack::ann::Linear< InputDataType, OutputDataType, RegularizerType >::Linear ( const size_t  inSize,
const size_t  outSize,
RegularizerType  regularizer = RegularizerType() 
)

Create the Linear layer object using the specified number of units.

Parameters
inSizeThe number of input units.
outSizeThe number of output units.
regularizerThe regularizer to use, optional.

Member Function Documentation

◆ Backward()

template<typename InputDataType , typename OutputDataType , typename RegularizerType >
template<typename eT >
void mlpack::ann::Linear< InputDataType, OutputDataType, RegularizerType >::Backward ( const arma::Mat< eT > &  ,
const arma::Mat< eT > &  gy,
arma::Mat< eT > &  g 
)

Ordinary feed backward pass of a neural network, calculating the function f(x) by propagating x backwards trough f.

Using the results from the feed forward pass.

Parameters
*(input) The propagated input activation.
gyThe backpropagated error.
gThe calculated gradient.

◆ Forward()

template<typename InputDataType , typename OutputDataType , typename RegularizerType >
template<typename eT >
void mlpack::ann::Linear< InputDataType, OutputDataType, RegularizerType >::Forward ( const arma::Mat< eT > &  input,
arma::Mat< eT > &  output 
)

Ordinary feed forward pass of a neural network, evaluating the function f(x) by propagating the activity forward through f.

Parameters
inputInput data used for evaluating the specified function.
outputResulting output activation.

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