diff --git a/src/mlpack/methods/ann/layer/fast_lstm_impl.hpp b/src/mlpack/methods/ann/layer/fast_lstm_impl.hpp index 2f90963674..752b132ae4 100644 --- a/src/mlpack/methods/ann/layer/fast_lstm_impl.hpp +++ b/src/mlpack/methods/ann/layer/fast_lstm_impl.hpp @@ -50,7 +50,16 @@ FastLSTM::FastLSTM(const FastLSTM& layer) : inSize(layer.inSize), outSize(layer.outSize), rho(layer.rho), - weights(layer.weights) + forwardStep(layer.forwardStep), + backwardStep(layer.backwardStep), + gradientStep(layer.gradientStep), + weights(layer.weights), + batchSize(layer.batchSize), + batchStep(layer.batchStep), + gradientStepIdx(layer.gradientStepIdx), + grad(layer.grad), + rhoSize(layer.rho), + bpttSteps(layer.bpttSteps) { // Nothing to do here. } @@ -60,7 +69,16 @@ FastLSTM::FastLSTM(FastLSTM&& layer) : inSize(std::move(layer.inSize)), outSize(std::move(layer.outSize)), rho(std::move(layer.rho)), - weights(std::move(layer.weights)) + forwardStep(std::move(layer.forwardStep)), + backwardStep(std::move(layer.backwardStep)), + gradientStep(std::move(layer.gradientStep)), + weights(std::move(layer.weights)), + batchSize(std::move(layer.batchSize)), + batchStep(std::move(layer.batchStep)), + gradientStepIdx(std::move(layer.gradientStepIdx)), + grad(std::move(layer.grad)), + rhoSize(std::move(layer.rho)), + bpttSteps(std::move(layer.bpttSteps)) { // Nothing to do here. } @@ -74,7 +92,16 @@ FastLSTM::operator=(const FastLSTM& layer) inSize = layer.inSize; outSize = layer.outSize; rho = layer.rho; + forwardStep = layer.forwardStep; + backwardStep = layer.backwardStep; + gradientStep = layer.gradientStep; weights = layer.weights; + batchSize = layer.batchSize; + batchStep = layer.batchStep; + gradientStepIdx = layer.gradientStepIdx; + grad = layer.grad; + rhoSize = layer.rho; + bpttSteps = layer.bpttSteps; } return *this; } @@ -88,7 +115,16 @@ FastLSTM::operator=(FastLSTM&& layer) inSize = std::move(layer.inSize); outSize = std::move(layer.outSize); rho = std::move(layer.rho); + forwardStep = std::move(layer.forwardStep); + backwardStep = std::move(layer.backwardStep); + gradientStep = std::move(layer.gradientStep); weights = std::move(layer.weights); + batchSize = std::move(layer.batchSize); + batchStep = std::move(layer.batchStep); + gradientStepIdx = std::move(layer.gradientStepIdx); + grad = std::move(layer.grad); + rhoSize = std::move(layer.rho); + bpttSteps = std::move(layer.bpttSteps); } return *this; } diff --git a/src/mlpack/methods/ann/rnn_impl.hpp b/src/mlpack/methods/ann/rnn_impl.hpp index 65ab29ad4f..6c909585c7 100644 --- a/src/mlpack/methods/ann/rnn_impl.hpp +++ b/src/mlpack/methods/ann/rnn_impl.hpp @@ -71,11 +71,6 @@ RNN::RNN( network.network[i])); boost::apply_visitor(resetVisitor, this->network.back()); } - ResetCells(); - if (parameter.is_empty()) - { - ResetParameters(); - } } template