mlpack 3.4.2
parameters_set_visitor.hpp
Go to the documentation of this file.
1
13#ifndef MLPACK_METHODS_ANN_VISITOR_PARAMETERS_SET_VISITOR_HPP
14#define MLPACK_METHODS_ANN_VISITOR_PARAMETERS_SET_VISITOR_HPP
15
18
19#include <boost/variant.hpp>
20
21namespace mlpack {
22namespace ann {
23
27class ParametersSetVisitor : public boost::static_visitor<void>
28{
29 public:
31 ParametersSetVisitor(arma::mat& parameters);
32
34 template<typename LayerType>
35 void operator()(LayerType *layer) const;
36
37 void operator()(MoreTypes layer) const;
38
39 private:
41 arma::mat& parameters;
42
45 template<typename T, typename P>
46 typename std::enable_if<
47 !HasParametersCheck<T, P&(T::*)()>::value, void>::type
48 LayerParameters(T* layer, P& output) const;
49
52 template<typename T, typename P>
53 typename std::enable_if<
54 HasParametersCheck<T, P&(T::*)()>::value, void>::type
55 LayerParameters(T* layer, P& output) const;
56};
57
58} // namespace ann
59} // namespace mlpack
60
61// Include implementation.
62#include "parameters_set_visitor_impl.hpp"
63
64#endif
ParametersSetVisitor update the parameters set using the given matrix.
void operator()(LayerType *layer) const
Update the parameters set.
ParametersSetVisitor(arma::mat &parameters)
Update the parameters set given the parameters matrix.
void operator()(MoreTypes layer) const
boost::variant< Linear3D< arma::mat, arma::mat, NoRegularizer > *, Glimpse< arma::mat, arma::mat > *, Highway< arma::mat, arma::mat > *, MultiheadAttention< arma::mat, arma::mat, NoRegularizer > *, Recurrent< arma::mat, arma::mat > *, RecurrentAttention< arma::mat, arma::mat > *, ReinforceNormal< arma::mat, arma::mat > *, Reparametrization< arma::mat, arma::mat > *, Select< arma::mat, arma::mat > *, Sequential< arma::mat, arma::mat, false > *, Sequential< arma::mat, arma::mat, true > *, Subview< arma::mat, arma::mat > *, VRClassReward< arma::mat, arma::mat > *, VirtualBatchNorm< arma::mat, arma::mat > *, RBF< arma::mat, arma::mat, GaussianFunction > *, BaseLayer< GaussianFunction, arma::mat, arma::mat > *, PositionalEncoding< arma::mat, arma::mat > * > MoreTypes
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: cv.hpp:1