mlpack  master
Public Member Functions | Private Member Functions | Private Attributes | List of all members
mlpack::ann::MeanPooling< InputDataType, OutputDataType > Class Template Reference

Implementation of the MeanPooling. More...

Public Member Functions

 MeanPooling ()
 Create the MeanPooling object. More...
 
 MeanPooling (const size_t kW, const size_t kH, const size_t dW=1, const size_t dH=1, const bool floor=true)
 Create the MeanPooling object using the specified number of units. More...
 
template<typename eT >
void Backward (const arma::Mat< eT > &&, arma::Mat< eT > &&gy, arma::Mat< eT > &&g)
 Ordinary feed backward pass of a neural network, using 3rd-order tensors as input, calculating the function f(x) by propagating x backwards through f. More...
 
OutputDataType const & Delta () const
 Get the delta. More...
 
OutputDataType & Delta ()
 Modify the delta. More...
 
bool Deterministic () const
 Get the value of the deterministic parameter. More...
 
bool & Deterministic ()
 Modify the value of the deterministic parameter. 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...
 
size_t const & InputHeight () const
 Get the height. More...
 
size_t & InputHeight ()
 Modify the height. More...
 
InputDataType const & InputParameter () const
 Get the input parameter. More...
 
InputDataType & InputParameter ()
 Modify the input parameter. More...
 
size_t const & InputWidth () const
 Get the width. More...
 
size_t & InputWidth ()
 Modify the width. More...
 
size_t const & OutputHeight () const
 Get the height. More...
 
size_t & OutputHeight ()
 Modify the height. More...
 
OutputDataType const & OutputParameter () const
 Get the output parameter. More...
 
OutputDataType & OutputParameter ()
 Modify the output parameter. More...
 
size_t const & OutputWidth () const
 Get the width. More...
 
size_t & OutputWidth ()
 Modify the width. More...
 
template<typename Archive >
void Serialize (Archive &ar, const unsigned int)
 Serialize the layer. More...
 

Private Member Functions

template<typename eT >
void Pooling (const arma::Mat< eT > &input, arma::Mat< eT > &output)
 Apply pooling to the input and store the results. More...
 
template<typename eT >
void Unpooling (const arma::Mat< eT > &input, const arma::Mat< eT > &error, arma::Mat< eT > &output)
 Apply unpooling to the input and store the results. More...
 

Private Attributes

OutputDataType delta
 Locally-stored delta object. More...
 
bool deterministic
 If true use maximum a posteriori during the forward pass. More...
 
size_t dH
 Locally-stored height of the stride operation. More...
 
size_t dW
 Locally-stored width of the stride operation. More...
 
bool floor
 Rounding operation used. More...
 
OutputDataType gradient
 Locally-stored gradient object. More...
 
arma::cube gTemp
 Locally-stored transformed output parameter. More...
 
size_t inputHeight
 Locally-stored input height. More...
 
InputDataType inputParameter
 Locally-stored input parameter object. More...
 
arma::cube inputTemp
 Locally-stored transformed input parameter. More...
 
size_t inputWidth
 Locally-stored input width. More...
 
size_t inSize
 Locally-stored number of input units. More...
 
size_t kH
 Locally-stored height of the pooling window. More...
 
size_t kW
 Locally-stored width of the pooling window. More...
 
size_t offset
 Locally-stored stored rounding offset. More...
 
size_t outputHeight
 Locally-stored output height. More...
 
OutputDataType outputParameter
 Locally-stored output parameter object. More...
 
arma::cube outputTemp
 Locally-stored output parameter. More...
 
size_t outputWidth
 Locally-stored output width. More...
 
size_t outSize
 Locally-stored number of output units. More...
 
bool reset
 Locally-stored reset parameter used to initialize the module once. More...
 

Detailed Description

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
class mlpack::ann::MeanPooling< InputDataType, OutputDataType >

Implementation of the MeanPooling.

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 33 of file mean_pooling.hpp.

Constructor & Destructor Documentation

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
mlpack::ann::MeanPooling< InputDataType, OutputDataType >::MeanPooling ( )

Create the MeanPooling object.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
mlpack::ann::MeanPooling< InputDataType, OutputDataType >::MeanPooling ( const size_t  kW,
const size_t  kH,
const size_t  dW = 1,
const size_t  dH = 1,
const bool  floor = true 
)

Create the MeanPooling object using the specified number of units.

Parameters
kWWidth of the pooling window.
kHHeight of the pooling window.
dWWidth of the stride operation.
dHWidth of the stride operation.

Member Function Documentation

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

Ordinary feed backward pass of a neural network, using 3rd-order tensors as input, calculating the function f(x) by propagating x backwards through f.

Using the results from the feed forward pass.

Parameters
inputThe propagated input activation.
gyThe backpropagated error.
gThe calculated gradient.
template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
OutputDataType const& mlpack::ann::MeanPooling< InputDataType, OutputDataType >::Delta ( ) const
inline

Get the delta.

Definition at line 88 of file mean_pooling.hpp.

References mlpack::ann::MeanPooling< InputDataType, OutputDataType >::delta.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
OutputDataType& mlpack::ann::MeanPooling< InputDataType, OutputDataType >::Delta ( )
inline

Modify the delta.

Definition at line 90 of file mean_pooling.hpp.

References mlpack::ann::MeanPooling< InputDataType, OutputDataType >::delta.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
bool mlpack::ann::MeanPooling< InputDataType, OutputDataType >::Deterministic ( ) const
inline

Get the value of the deterministic parameter.

Definition at line 113 of file mean_pooling.hpp.

References mlpack::ann::MeanPooling< InputDataType, OutputDataType >::deterministic.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
bool& mlpack::ann::MeanPooling< InputDataType, OutputDataType >::Deterministic ( )
inline
template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
template<typename eT >
void mlpack::ann::MeanPooling< InputDataType, OutputDataType >::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.
template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t const& mlpack::ann::MeanPooling< InputDataType, OutputDataType >::InputHeight ( ) const
inline

Get the height.

Definition at line 98 of file mean_pooling.hpp.

References mlpack::ann::MeanPooling< InputDataType, OutputDataType >::inputHeight.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t& mlpack::ann::MeanPooling< InputDataType, OutputDataType >::InputHeight ( )
inline

Modify the height.

Definition at line 100 of file mean_pooling.hpp.

References mlpack::ann::MeanPooling< InputDataType, OutputDataType >::inputHeight.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
InputDataType const& mlpack::ann::MeanPooling< InputDataType, OutputDataType >::InputParameter ( ) const
inline

Get the input parameter.

Definition at line 78 of file mean_pooling.hpp.

References mlpack::ann::MeanPooling< InputDataType, OutputDataType >::inputParameter.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
InputDataType& mlpack::ann::MeanPooling< InputDataType, OutputDataType >::InputParameter ( )
inline

Modify the input parameter.

Definition at line 80 of file mean_pooling.hpp.

References mlpack::ann::MeanPooling< InputDataType, OutputDataType >::inputParameter.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t const& mlpack::ann::MeanPooling< InputDataType, OutputDataType >::InputWidth ( ) const
inline

Get the width.

Definition at line 93 of file mean_pooling.hpp.

References mlpack::ann::MeanPooling< InputDataType, OutputDataType >::inputWidth.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t& mlpack::ann::MeanPooling< InputDataType, OutputDataType >::InputWidth ( )
inline

Modify the width.

Definition at line 95 of file mean_pooling.hpp.

References mlpack::ann::MeanPooling< InputDataType, OutputDataType >::inputWidth.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t const& mlpack::ann::MeanPooling< InputDataType, OutputDataType >::OutputHeight ( ) const
inline

Get the height.

Definition at line 108 of file mean_pooling.hpp.

References mlpack::ann::MeanPooling< InputDataType, OutputDataType >::outputHeight.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t& mlpack::ann::MeanPooling< InputDataType, OutputDataType >::OutputHeight ( )
inline

Modify the height.

Definition at line 110 of file mean_pooling.hpp.

References mlpack::ann::MeanPooling< InputDataType, OutputDataType >::outputHeight.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
OutputDataType const& mlpack::ann::MeanPooling< InputDataType, OutputDataType >::OutputParameter ( ) const
inline

Get the output parameter.

Definition at line 83 of file mean_pooling.hpp.

References mlpack::ann::MeanPooling< InputDataType, OutputDataType >::outputParameter.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
OutputDataType& mlpack::ann::MeanPooling< InputDataType, OutputDataType >::OutputParameter ( )
inline

Modify the output parameter.

Definition at line 85 of file mean_pooling.hpp.

References mlpack::ann::MeanPooling< InputDataType, OutputDataType >::outputParameter.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t const& mlpack::ann::MeanPooling< InputDataType, OutputDataType >::OutputWidth ( ) const
inline
template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t& mlpack::ann::MeanPooling< InputDataType, OutputDataType >::OutputWidth ( )
inline

Modify the width.

Definition at line 105 of file mean_pooling.hpp.

References mlpack::ann::MeanPooling< InputDataType, OutputDataType >::outputWidth.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
template<typename eT >
void mlpack::ann::MeanPooling< InputDataType, OutputDataType >::Pooling ( const arma::Mat< eT > &  input,
arma::Mat< eT > &  output 
)
inlineprivate
template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
template<typename Archive >
void mlpack::ann::MeanPooling< InputDataType, OutputDataType >::Serialize ( Archive &  ar,
const unsigned  int 
)
template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
template<typename eT >
void mlpack::ann::MeanPooling< InputDataType, OutputDataType >::Unpooling ( const arma::Mat< eT > &  input,
const arma::Mat< eT > &  error,
arma::Mat< eT > &  output 
)
inlineprivate

Apply unpooling to the input and store the results.

Parameters
inputThe input to be apply the unpooling rule.
outputThe pooled result.

Definition at line 157 of file mean_pooling.hpp.

References mlpack::ann::MeanPooling< InputDataType, OutputDataType >::offset.

Member Data Documentation

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
OutputDataType mlpack::ann::MeanPooling< InputDataType, OutputDataType >::delta
private

Locally-stored delta object.

Definition at line 233 of file mean_pooling.hpp.

Referenced by mlpack::ann::MeanPooling< InputDataType, OutputDataType >::Delta().

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
bool mlpack::ann::MeanPooling< InputDataType, OutputDataType >::deterministic
private

If true use maximum a posteriori during the forward pass.

Definition at line 218 of file mean_pooling.hpp.

Referenced by mlpack::ann::MeanPooling< InputDataType, OutputDataType >::Deterministic().

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t mlpack::ann::MeanPooling< InputDataType, OutputDataType >::dH
private

Locally-stored height of the stride operation.

Definition at line 197 of file mean_pooling.hpp.

Referenced by mlpack::ann::MeanPooling< InputDataType, OutputDataType >::Pooling().

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t mlpack::ann::MeanPooling< InputDataType, OutputDataType >::dW
private

Locally-stored width of the stride operation.

Definition at line 194 of file mean_pooling.hpp.

Referenced by mlpack::ann::MeanPooling< InputDataType, OutputDataType >::Pooling().

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
bool mlpack::ann::MeanPooling< InputDataType, OutputDataType >::floor
private

Rounding operation used.

Definition at line 215 of file mean_pooling.hpp.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
OutputDataType mlpack::ann::MeanPooling< InputDataType, OutputDataType >::gradient
private

Locally-stored gradient object.

Definition at line 236 of file mean_pooling.hpp.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
arma::cube mlpack::ann::MeanPooling< InputDataType, OutputDataType >::gTemp
private

Locally-stored transformed output parameter.

Definition at line 230 of file mean_pooling.hpp.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t mlpack::ann::MeanPooling< InputDataType, OutputDataType >::inputHeight
private

Locally-stored input height.

Definition at line 203 of file mean_pooling.hpp.

Referenced by mlpack::ann::MeanPooling< InputDataType, OutputDataType >::InputHeight().

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
InputDataType mlpack::ann::MeanPooling< InputDataType, OutputDataType >::inputParameter
private

Locally-stored input parameter object.

Definition at line 239 of file mean_pooling.hpp.

Referenced by mlpack::ann::MeanPooling< InputDataType, OutputDataType >::InputParameter().

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
arma::cube mlpack::ann::MeanPooling< InputDataType, OutputDataType >::inputTemp
private

Locally-stored transformed input parameter.

Definition at line 227 of file mean_pooling.hpp.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t mlpack::ann::MeanPooling< InputDataType, OutputDataType >::inputWidth
private

Locally-stored input width.

Definition at line 200 of file mean_pooling.hpp.

Referenced by mlpack::ann::MeanPooling< InputDataType, OutputDataType >::InputWidth().

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t mlpack::ann::MeanPooling< InputDataType, OutputDataType >::inSize
private

Locally-stored number of input units.

Definition at line 182 of file mean_pooling.hpp.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t mlpack::ann::MeanPooling< InputDataType, OutputDataType >::kH
private

Locally-stored height of the pooling window.

Definition at line 191 of file mean_pooling.hpp.

Referenced by mlpack::ann::MeanPooling< InputDataType, OutputDataType >::Pooling().

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t mlpack::ann::MeanPooling< InputDataType, OutputDataType >::kW
private

Locally-stored width of the pooling window.

Definition at line 188 of file mean_pooling.hpp.

Referenced by mlpack::ann::MeanPooling< InputDataType, OutputDataType >::Pooling().

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t mlpack::ann::MeanPooling< InputDataType, OutputDataType >::offset
private
template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t mlpack::ann::MeanPooling< InputDataType, OutputDataType >::outputHeight
private

Locally-stored output height.

Definition at line 209 of file mean_pooling.hpp.

Referenced by mlpack::ann::MeanPooling< InputDataType, OutputDataType >::OutputHeight().

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
OutputDataType mlpack::ann::MeanPooling< InputDataType, OutputDataType >::outputParameter
private

Locally-stored output parameter object.

Definition at line 242 of file mean_pooling.hpp.

Referenced by mlpack::ann::MeanPooling< InputDataType, OutputDataType >::OutputParameter().

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
arma::cube mlpack::ann::MeanPooling< InputDataType, OutputDataType >::outputTemp
private

Locally-stored output parameter.

Definition at line 224 of file mean_pooling.hpp.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t mlpack::ann::MeanPooling< InputDataType, OutputDataType >::outputWidth
private

Locally-stored output width.

Definition at line 206 of file mean_pooling.hpp.

Referenced by mlpack::ann::MeanPooling< InputDataType, OutputDataType >::OutputWidth().

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
size_t mlpack::ann::MeanPooling< InputDataType, OutputDataType >::outSize
private

Locally-stored number of output units.

Definition at line 185 of file mean_pooling.hpp.

template<typename InputDataType = arma::mat, typename OutputDataType = arma::mat>
bool mlpack::ann::MeanPooling< InputDataType, OutputDataType >::reset
private

Locally-stored reset parameter used to initialize the module once.

Definition at line 212 of file mean_pooling.hpp.


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