13#ifndef MLPACK_METHODS_ANN_VISITOR_WEIGHT_SET_VISITOR_HPP
14#define MLPACK_METHODS_ANN_VISITOR_WEIGHT_SET_VISITOR_HPP
18#include <boost/variant.hpp>
33 template<
typename LayerType>
47 template<
typename T,
typename P>
48 typename std::enable_if<
49 !HasParametersCheck<T, P&(T::*)()>::value &&
50 !HasModelCheck<T>::value,
size_t>::type
51 LayerSize(T* layer, P&& input)
const;
54 template<
typename T,
typename P>
55 typename std::enable_if<
56 !HasParametersCheck<T, P&(T::*)()>::value &&
57 HasModelCheck<T>::value,
size_t>::type
58 LayerSize(T* layer, P&& input)
const;
61 template<
typename T,
typename P>
62 typename std::enable_if<
63 HasParametersCheck<T, P&(T::*)()>::value &&
64 !HasModelCheck<T>::value,
size_t>::type
65 LayerSize(T* layer, P&& input)
const;
69 template<
typename T,
typename P>
70 typename std::enable_if<
71 HasParametersCheck<T, P&(T::*)()>::value &&
72 HasModelCheck<T>::value,
size_t>::type
73 LayerSize(T* layer, P&& input)
const;
80#include "weight_set_visitor_impl.hpp"
WeightSetVisitor update the module parameters given the parameters set.
size_t operator()(MoreTypes layer) const
WeightSetVisitor(arma::mat &weight, const size_t offset=0)
Update the parameters given the parameters set and offset.
size_t operator()(LayerType *layer) const
Update the parameters set.
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.