[mlpack-git] master: implement serialize and remove move constructor and move assignemnt since c++11 should be able to generate them.Remember to specify [ARMA_USE_CXX11] (9176684)

gitdub at mlpack.org gitdub at mlpack.org
Sat Feb 27 02:39:48 EST 2016


Repository : https://github.com/mlpack/mlpack
On branch  : master
Link       : https://github.com/mlpack/mlpack/compare/a2e57d617e952f1ea2fda8a23e1c6bd2f78beb6d...1bedf15126f6bd0bc93a3233914ac95486a3c0da

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

commit 9176684485e969df42807ae4416f47bb9b175aa7
Author: stereomatchingkiss <stereomatchingkiss at gmail.com>
Date:   Sat Feb 27 15:38:15 2016 +0800

    implement serialize and remove move constructor and move assignemnt since
    c++11 should be able to generate them.Remember to specify [ARMA_USE_CXX11]


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

9176684485e969df42807ae4416f47bb9b175aa7
 src/mlpack/methods/ann/layer/recurrent_layer.hpp | 24 ++++++++++--------------
 1 file changed, 10 insertions(+), 14 deletions(-)

diff --git a/src/mlpack/methods/ann/layer/recurrent_layer.hpp b/src/mlpack/methods/ann/layer/recurrent_layer.hpp
index 332a659..da42fc0 100644
--- a/src/mlpack/methods/ann/layer/recurrent_layer.hpp
+++ b/src/mlpack/methods/ann/layer/recurrent_layer.hpp
@@ -57,20 +57,6 @@ class RecurrentLayer
     weights.set_size(outSize, inSize);
   } 
 
-  RecurrentLayer(RecurrentLayer &&layer) noexcept
-  {
-    *this = std::move(layer);
-  }
-
-  RecurrentLayer& operator=(RecurrentLayer &&layer) noexcept
-  {
-    inSize = layer.inSize;
-    outSize = layer.outSize;
-    weights.swap(layer.weights);
-
-    return *this;
-  }
-
   /**
    * Ordinary feed forward pass of a neural network, evaluating the function
    * f(x) by propagating the activity forward through f.
@@ -143,6 +129,16 @@ class RecurrentLayer
   //! Modify the gradient.
   OutputDataType& Gradient() { return gradient; }
   
+  /**
+   * Serialize the layer
+   */
+  template<typename Archive>
+  void Serialize(Archive& ar, const unsigned int /* version */)
+  {    		
+	ar & data::CreateNVP(recurrentParameter, "recurrentParameter");	
+	ar & data::CreateNVP(weights, "weights");
+  }
+
  private:
   //! Locally-stored number of input units.
   size_t inSize;




More information about the mlpack-git mailing list