Linear< InputDataType, OutputDataType, RegularizerType > Class Template Reference

Implementation of the Linear layer class. More...

Public Member Functions

 Linear ()
 Create the Linear object. More...

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

 
 Linear (Linear &&)
 Move constructor. 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...

 
OutputDataType const & Bias () const
 Get the bias of the layer. More...

 
OutputDataType & Bias ()
 Modify the bias weights of the layer. More...

 
OutputDataType const & Delta () const
 Get the delta. More...

 
OutputDataType & Delta ()
 Modify the delta. More...

 
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 Gradient (const arma::Mat< eT > &input, const arma::Mat< eT > &error, arma::Mat< eT > &gradient)
 
OutputDataType const & Gradient () const
 Get the gradient. More...

 
OutputDataType & Gradient ()
 Modify the gradient. More...

 
InputDataType const & InputParameter () const
 Get the input parameter. More...

 
InputDataType & InputParameter ()
 Modify the input parameter. More...

 
size_t InputShape () const
 Get the shape of the input. More...

 
size_t InputSize () const
 Get the input size. More...

 
Linearoperator= (const Linear &layer)
 Copy assignment operator. More...

 
Linearoperator= (Linear &&layer)
 Move assignment operator. More...

 
OutputDataType const & OutputParameter () const
 Get the output parameter. More...

 
OutputDataType & OutputParameter ()
 Modify the output parameter. More...

 
size_t OutputSize () const
 Get the output size. More...

 
OutputDataType const & Parameters () const
 Get the parameters. More...

 
OutputDataType & Parameters ()
 Modify the parameters. More...

 
void Reset ()
 
template
<
typename
Archive
>
void serialize (Archive &ar, const uint32_t)
 Serialize the layer. More...

 
OutputDataType const & Weight () const
 Get the weight of the layer. More...

 
OutputDataType & Weight ()
 Modify the weight of the layer. More...

 
size_t WeightSize () const
 Get the size of the weights. More...

 

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

Definition at line 95 of file layer_types.hpp.

Constructor & Destructor Documentation

◆ Linear() [1/4]

Linear ( )

Create the Linear object.

◆ Linear() [2/4]

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.

◆ Linear() [3/4]

Linear ( const Linear< InputDataType, OutputDataType, RegularizerType > &  layer)

Copy constructor.

◆ Linear() [4/4]

Linear ( Linear< InputDataType, OutputDataType, RegularizerType > &&  )

Move constructor.

Member Function Documentation

◆ Backward()

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.

Using the results from the feed forward pass.

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

◆ Bias() [1/2]

OutputDataType const& Bias ( ) const
inline

Get the bias of the layer.

Definition at line 145 of file linear.hpp.

◆ Bias() [2/2]

OutputDataType& Bias ( )
inline

Modify the bias weights of the layer.

Definition at line 147 of file linear.hpp.

◆ Delta() [1/2]

OutputDataType const& Delta ( ) const
inline

Get the delta.

Definition at line 124 of file linear.hpp.

◆ Delta() [2/2]

OutputDataType& Delta ( )
inline

Modify the delta.

Definition at line 126 of file linear.hpp.

◆ Forward()

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.

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

◆ Gradient() [1/3]

void Gradient ( const arma::Mat< eT > &  input,
const arma::Mat< eT > &  error,
arma::Mat< eT > &  gradient 
)

◆ Gradient() [2/3]

OutputDataType const& Gradient ( ) const
inline

Get the gradient.

Definition at line 135 of file linear.hpp.

◆ Gradient() [3/3]

OutputDataType& Gradient ( )
inline

Modify the gradient.

Definition at line 137 of file linear.hpp.

◆ InputParameter() [1/2]

InputDataType const& InputParameter ( ) const
inline

Get the input parameter.

Definition at line 114 of file linear.hpp.

◆ InputParameter() [2/2]

InputDataType& InputParameter ( )
inline

Modify the input parameter.

Definition at line 116 of file linear.hpp.

◆ InputShape()

size_t InputShape ( ) const
inline

Get the shape of the input.

Definition at line 156 of file linear.hpp.

References Linear< InputDataType, OutputDataType, RegularizerType >::serialize().

◆ InputSize()

size_t InputSize ( ) const
inline

Get the input size.

Definition at line 129 of file linear.hpp.

◆ operator=() [1/2]

Linear& operator= ( const Linear< InputDataType, OutputDataType, RegularizerType > &  layer)

Copy assignment operator.

◆ operator=() [2/2]

Linear& operator= ( Linear< InputDataType, OutputDataType, RegularizerType > &&  layer)

Move assignment operator.

◆ OutputParameter() [1/2]

OutputDataType const& OutputParameter ( ) const
inline

Get the output parameter.

Definition at line 119 of file linear.hpp.

◆ OutputParameter() [2/2]

OutputDataType& OutputParameter ( )
inline

Modify the output parameter.

Definition at line 121 of file linear.hpp.

◆ OutputSize()

size_t OutputSize ( ) const
inline

Get the output size.

Definition at line 132 of file linear.hpp.

◆ Parameters() [1/2]

OutputDataType const& Parameters ( ) const
inline

Get the parameters.

Definition at line 109 of file linear.hpp.

◆ Parameters() [2/2]

OutputDataType& Parameters ( )
inline

Modify the parameters.

Definition at line 111 of file linear.hpp.

◆ Reset()

void Reset ( )

◆ serialize()

void serialize ( Archive &  ar,
const uint32_t   
)

◆ Weight() [1/2]

OutputDataType const& Weight ( ) const
inline

Get the weight of the layer.

Definition at line 140 of file linear.hpp.

◆ Weight() [2/2]

OutputDataType& Weight ( )
inline

Modify the weight of the layer.

Definition at line 142 of file linear.hpp.

◆ WeightSize()

size_t WeightSize ( ) const
inline

Get the size of the weights.

Definition at line 150 of file linear.hpp.


The documentation for this class was generated from the following files:
  • /home/ryan/src/mlpack.org/_src/mlpack-git/src/mlpack/methods/ann/layer/layer_types.hpp
  • /home/ryan/src/mlpack.org/_src/mlpack-git/src/mlpack/methods/ann/layer/linear.hpp