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

Implementation of the RecurrentLayer class. More...

#include <recurrent.hpp>

Public Member Functions

 Recurrent ()
 Default constructor—this will create a Recurrent object that can't be used, so be careful! Make sure to set all the parameters before use.
 
 Recurrent (const Recurrent &)
 Copy constructor.
 
template<typename StartModuleType , typename InputModuleType , typename FeedbackModuleType , typename TransferModuleType >
 Recurrent (const StartModuleType &start, const InputModuleType &input, const FeedbackModuleType &feedback, const TransferModuleType &transfer, const size_t rho)
 Create the Recurrent object using the specified modules. 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 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 > &)
 
std::vector< LayerTypes< CustomLayers... > > & Model ()
 Get the model modules.
 
bool Deterministic () const
 The value of the deterministic parameter.
 
bool & Deterministic ()
 Modify the value of the deterministic parameter.
 
OutputDataType const & Parameters () const
 Get the parameters.
 
OutputDataType & Parameters ()
 Modify the parameters.
 
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.
 
OutputDataType const & Gradient () const
 Get the gradient.
 
OutputDataType & Gradient ()
 Modify the gradient.
 
size_t const & Rho () const
 Get the number of steps to backpropagate through time.
 
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... CustomLayers>
class mlpack::ann::Recurrent< InputDataType, OutputDataType, CustomLayers >

Implementation of the RecurrentLayer class.

Recurrent layers can be used similarly to feed-forward layers.

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

◆ Recurrent()

template<typename InputDataType , typename OutputDataType , typename... CustomLayers>
template<typename StartModuleType , typename InputModuleType , typename FeedbackModuleType , typename TransferModuleType >
mlpack::ann::Recurrent< InputDataType, OutputDataType, CustomLayers >::Recurrent ( const StartModuleType &  start,
const InputModuleType &  input,
const FeedbackModuleType &  feedback,
const TransferModuleType &  transfer,
const size_t  rho 
)

Create the Recurrent object using the specified modules.

Parameters
startThe start module.
inputThe input module.
feedbackThe feedback module.
transferThe transfer module.
rhoMaximum number of steps to backpropagate through time (BPTT).

Member Function Documentation

◆ Backward()

template<typename InputDataType , typename OutputDataType , typename... CustomLayers>
template<typename eT >
void mlpack::ann::Recurrent< InputDataType, OutputDataType, CustomLayers >::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... CustomLayers>
template<typename eT >
void mlpack::ann::Recurrent< InputDataType, OutputDataType, CustomLayers >::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: