[mlpack-git] master: Minor style cleanups and changes: - Remove max pooling header (unused). - Reorder parameter initialization. - Add comment about introduced stride parameter. (496f1e4)

gitdub at mlpack.org gitdub at mlpack.org
Mon Jul 25 18:18:15 EDT 2016


Repository : https://github.com/mlpack/mlpack
On branch  : master
Link       : https://github.com/mlpack/mlpack/compare/62e5593dabcb9f93222738b14d29313e7176f97d...496f1e48475e5bc59ea7a612e3303380d03c9273

>---------------------------------------------------------------

commit 496f1e48475e5bc59ea7a612e3303380d03c9273
Author: Marcus Edel <marcus.edel at fu-berlin.de>
Date:   Tue Jul 26 00:18:15 2016 +0200

    Minor style cleanups and changes:
    - Remove max pooling header (unused).
    - Reorder parameter initialization.
    - Add comment about introduced stride parameter.


>---------------------------------------------------------------

496f1e48475e5bc59ea7a612e3303380d03c9273
 src/mlpack/methods/ann/layer/pooling_layer.hpp | 28 +++++++++++++++-----------
 1 file changed, 16 insertions(+), 12 deletions(-)

diff --git a/src/mlpack/methods/ann/layer/pooling_layer.hpp b/src/mlpack/methods/ann/layer/pooling_layer.hpp
index a33ffe9..5b13f73 100644
--- a/src/mlpack/methods/ann/layer/pooling_layer.hpp
+++ b/src/mlpack/methods/ann/layer/pooling_layer.hpp
@@ -1,6 +1,7 @@
 /**
  * @file pooling_layer.hpp
  * @author Marcus Edel
+ * @author Nilay Jain
  *
  * Definition of the PoolingLayer class, which attaches various pooling
  * functions to the embedding layer.
@@ -10,7 +11,6 @@
 
 #include <mlpack/core.hpp>
 #include <mlpack/methods/ann/pooling_rules/mean_pooling.hpp>
-#include <mlpack/methods/ann/pooling_rules/max_pooling.hpp> 
 #include <mlpack/methods/ann/layer/layer_traits.hpp>
 
 namespace mlpack {
@@ -38,11 +38,15 @@ class PoolingLayer
    * Create the PoolingLayer object using the specified number of units.
    *
    * @param kSize Size of the pooling window.
+   * @param stride The stride of the convolution operation.
    * @param pooling The pooling strategy.
    */
-  PoolingLayer(const size_t kSize,  const size_t stride = 1,
-              PoolingRule pooling = PoolingRule()) :
-      kSize(kSize), pooling(pooling), stride(stride)
+  PoolingLayer(const size_t kSize,
+               const size_t stride = 1,
+               PoolingRule pooling = PoolingRule()) :
+      kSize(kSize),
+      stride(stride),
+      pooling(pooling)
   {
     // Nothing to do here.
   }
@@ -71,7 +75,7 @@ class PoolingLayer
   void Forward(const arma::Cube<eT>& input, arma::Cube<eT>& output)
   {
     output = arma::zeros<arma::Cube<eT> >((input.n_rows - kSize) / stride + 1,
-                            (input.n_cols - kSize) / stride + 1, input.n_slices);
+        (input.n_cols - kSize) / stride + 1, input.n_slices);
 
     for (size_t s = 0; s < input.n_slices; s++)
       Pooling(input.slice(s), output.slice(s));
@@ -177,9 +181,9 @@ class PoolingLayer
     {
       for (size_t i = 0, rowidx = 0; i < output.n_rows; ++i, rowidx += stride)
       {
-        output(i, j) += pooling.Pooling(
-            input(arma::span(rowidx, rowidx + rStep - 1), 
-              arma::span(colidx, colidx + cStep - 1)));
+        output(i, j) += pooling.Pooling(input(
+            arma::span(rowidx, rowidx + rStep - 1),
+            arma::span(colidx, colidx + cStep - 1)));
       }
     }
   }
@@ -204,7 +208,7 @@ class PoolingLayer
       for (size_t i = 0; i < input.n_rows; i += rStep)
       {
         const arma::Mat<eT>& inputArea = input(arma::span(i, i + rStep - 1),
-                                               arma::span(j, j + cStep - 1));
+            arma::span(j, j + cStep - 1));
 
         pooling.Unpooling(inputArea, error(i / rStep, j / cStep),
             unpooledError);
@@ -221,6 +225,9 @@ class PoolingLayer
   //! Locally-stored stride value by which we move filter.
   size_t stride;
 
+  //! Locally-stored pooling strategy.
+  PoolingRule pooling;
+
   //! Locally-stored delta object.
   OutputDataType delta;
 
@@ -229,9 +236,6 @@ class PoolingLayer
 
   //! Locally-stored output parameter object.
   OutputDataType outputParameter;
-
-  //! Locally-stored pooling strategy.
-  PoolingRule pooling;
 }; // class PoolingLayer
 
 //! Layer traits for the pooling layer.




More information about the mlpack-git mailing list