mlpack
master
|
Implementation of the MaxPooling layer. More...
Public Member Functions | |
MaxPooling () | |
Create the MaxPooling object. More... | |
MaxPooling (const size_t kW, const size_t kH, const size_t dW=1, const size_t dH=1, const bool floor=true) | |
Create the MaxPooling 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 | PoolingOperation (const arma::Mat< eT > &input, arma::Mat< eT > &output, arma::Mat< eT > &poolingIndices) |
Apply pooling to the input and store the results. More... | |
template<typename eT > | |
void | Unpooling (const arma::Mat< eT > &error, arma::Mat< eT > &output, arma::Mat< eT > &poolingIndices) |
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... | |
arma::Mat< size_t > | indices |
Locally-stored indices matrix parameter. More... | |
arma::Col< size_t > | indicesCol |
Locally-stored indices column 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... | |
MaxPoolingRule | pooling |
Locally-stored pooling strategy. More... | |
std::vector< arma::cube > | poolingIndices |
Locally-stored pooling indicies. More... | |
bool | reset |
Locally-stored reset parameter used to initialize the module once. More... | |
Implementation of the MaxPooling layer.
InputDataType | Type of the input data (arma::colvec, arma::mat, arma::sp_mat or arma::cube). |
OutputDataType | Type of the output data (arma::colvec, arma::mat, arma::sp_mat or arma::cube). |
Definition at line 52 of file max_pooling.hpp.
mlpack::ann::MaxPooling< InputDataType, OutputDataType >::MaxPooling | ( | ) |
Create the MaxPooling object.
mlpack::ann::MaxPooling< InputDataType, OutputDataType >::MaxPooling | ( | const size_t | kW, |
const size_t | kH, | ||
const size_t | dW = 1 , |
||
const size_t | dH = 1 , |
||
const bool | floor = true |
||
) |
Create the MaxPooling object using the specified number of units.
kW | Width of the pooling window. |
kH | Height of the pooling window. |
dW | Width of the stride operation. |
dH | Width of the stride operation. |
floor | Rounding operator (floor or ceil). |
void mlpack::ann::MaxPooling< 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.
input | The propagated input activation. |
gy | The backpropagated error. |
g | The calculated gradient. |
|
inline |
Get the delta.
Definition at line 108 of file max_pooling.hpp.
|
inline |
Modify the delta.
Definition at line 110 of file max_pooling.hpp.
|
inline |
Get the value of the deterministic parameter.
Definition at line 133 of file max_pooling.hpp.
|
inline |
Modify the value of the deterministic parameter.
Definition at line 135 of file max_pooling.hpp.
void mlpack::ann::MaxPooling< 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.
input | Input data used for evaluating the specified function. |
output | Resulting output activation. |
|
inline |
Get the height.
Definition at line 118 of file max_pooling.hpp.
|
inline |
Modify the height.
Definition at line 120 of file max_pooling.hpp.
|
inline |
Get the input parameter.
Definition at line 98 of file max_pooling.hpp.
|
inline |
Modify the input parameter.
Definition at line 100 of file max_pooling.hpp.
|
inline |
Get the width.
Definition at line 113 of file max_pooling.hpp.
|
inline |
Modify the width.
Definition at line 115 of file max_pooling.hpp.
|
inline |
Get the height.
Definition at line 128 of file max_pooling.hpp.
|
inline |
Modify the height.
Definition at line 130 of file max_pooling.hpp.
|
inline |
Get the output parameter.
Definition at line 103 of file max_pooling.hpp.
|
inline |
Modify the output parameter.
Definition at line 105 of file max_pooling.hpp.
|
inline |
Get the width.
Definition at line 123 of file max_pooling.hpp.
|
inline |
Modify the width.
Definition at line 125 of file max_pooling.hpp.
|
inlineprivate |
Apply pooling to the input and store the results.
input | The input to be apply the pooling rule. |
output | The pooled result. |
poolingIndices | The pooled indices. |
Definition at line 153 of file max_pooling.hpp.
void mlpack::ann::MaxPooling< InputDataType, OutputDataType >::Serialize | ( | Archive & | ar, |
const unsigned | int | ||
) |
Serialize the layer.
|
inlineprivate |
Apply unpooling to the input and store the results.
error | The backward error. |
output | The pooled result. |
poolingIndices | The pooled indices. |
Definition at line 187 of file max_pooling.hpp.
|
private |
Locally-stored delta object.
Definition at line 252 of file max_pooling.hpp.
|
private |
If true use maximum a posteriori during the forward pass.
Definition at line 237 of file max_pooling.hpp.
|
private |
Locally-stored height of the stride operation.
Definition at line 213 of file max_pooling.hpp.
|
private |
Locally-stored width of the stride operation.
Definition at line 210 of file max_pooling.hpp.
|
private |
Rounding operation used.
Definition at line 219 of file max_pooling.hpp.
|
private |
Locally-stored gradient object.
Definition at line 255 of file max_pooling.hpp.
|
private |
Locally-stored transformed output parameter.
Definition at line 246 of file max_pooling.hpp.
|
private |
Locally-stored indices matrix parameter.
Definition at line 264 of file max_pooling.hpp.
|
private |
Locally-stored indices column parameter.
Definition at line 267 of file max_pooling.hpp.
|
private |
Locally-stored input height.
Definition at line 228 of file max_pooling.hpp.
|
private |
Locally-stored input parameter object.
Definition at line 258 of file max_pooling.hpp.
|
private |
Locally-stored transformed input parameter.
Definition at line 243 of file max_pooling.hpp.
|
private |
Locally-stored input width.
Definition at line 225 of file max_pooling.hpp.
|
private |
Locally-stored number of input units.
Definition at line 198 of file max_pooling.hpp.
|
private |
Locally-stored height of the pooling window.
Definition at line 207 of file max_pooling.hpp.
|
private |
Locally-stored width of the pooling window.
Definition at line 204 of file max_pooling.hpp.
|
private |
Locally-stored stored rounding offset.
Definition at line 222 of file max_pooling.hpp.
|
private |
Locally-stored output height.
Definition at line 234 of file max_pooling.hpp.
|
private |
Locally-stored output parameter object.
Definition at line 261 of file max_pooling.hpp.
|
private |
Locally-stored output parameter.
Definition at line 240 of file max_pooling.hpp.
|
private |
Locally-stored output width.
Definition at line 231 of file max_pooling.hpp.
|
private |
Locally-stored number of output units.
Definition at line 201 of file max_pooling.hpp.
|
private |
Locally-stored pooling strategy.
Definition at line 249 of file max_pooling.hpp.
|
private |
Locally-stored pooling indicies.
Definition at line 270 of file max_pooling.hpp.
|
private |
Locally-stored reset parameter used to initialize the module once.
Definition at line 216 of file max_pooling.hpp.