reinforce_normal.hpp
Go to the documentation of this file.
1 
13 #ifndef MLPACK_METHODS_ANN_LAYER_REINFORCE_NORMAL_HPP
14 #define MLPACK_METHODS_ANN_LAYER_REINFORCE_NORMAL_HPP
15 
16 #include <mlpack/prereqs.hpp>
17 
18 namespace mlpack {
19 namespace ann {
20 
30 template <
31  typename InputDataType = arma::mat,
32  typename OutputDataType = arma::mat
33 >
35 {
36  public:
42  ReinforceNormal(const double stdev = 1.0);
43 
51  template<typename eT>
52  void Forward(const arma::Mat<eT>&& input, arma::Mat<eT>&& output);
53 
63  template<typename DataType>
64  void Backward(const DataType&& input, DataType&& /* gy */, DataType&& g);
65 
67  OutputDataType& OutputParameter() const { return outputParameter; }
69  OutputDataType& OutputParameter() { return outputParameter; }
70 
72  OutputDataType& Delta() const { return delta; }
74  OutputDataType& Delta() { return delta; }
75 
77  bool Deterministic() const { return deterministic; }
79  bool& Deterministic() { return deterministic; }
80 
82  double Reward() const { return reward; }
84  double& Reward() { return reward; }
85 
89  template<typename Archive>
90  void serialize(Archive& /* ar */, const unsigned int /* version */);
91 
92  private:
94  double stdev;
95 
97  double reward;
98 
100  OutputDataType delta;
101 
103  OutputDataType outputParameter;
104 
106  std::vector<arma::mat> moduleInputParameter;
107 
109  bool deterministic;
110 }; // class ReinforceNormal
111 
112 } // namespace ann
113 } // namespace mlpack
114 
115 // Include implementation.
116 #include "reinforce_normal_impl.hpp"
117 
118 #endif
ReinforceNormal(const double stdev=1.0)
Create the ReinforceNormal object.
OutputDataType & Delta() const
Get the delta.
.hpp
Definition: add_to_po.hpp:21
Implementation of the reinforce normal layer.
The core includes that mlpack expects; standard C++ includes and Armadillo.
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 activ...
void Backward(const DataType &&input, DataType &&, DataType &&g)
Ordinary feed backward pass of a neural network, calculating the function f(x) by propagating x backw...
OutputDataType & OutputParameter()
Modify the output parameter.
OutputDataType & Delta()
Modify the delta.
double & Reward()
Modify the value of the deterministic parameter.
double Reward() const
Get the value of the reward parameter.
bool & Deterministic()
Modify the value of the deterministic parameter.
bool Deterministic() const
Get the value of the deterministic parameter.
OutputDataType & OutputParameter() const
Get the output parameter.
void serialize(Archive &, const unsigned int)
Serialize the layer.