14 #ifndef MLPACK_METHODS_ANN_VISITOR_WEIGHT_SIZE_VISITOR_HPP 15 #define MLPACK_METHODS_ANN_VISITOR_WEIGHT_SIZE_VISITOR_HPP 19 #include <boost/variant.hpp> 31 template<
typename LayerType>
39 template<
typename T,
typename P>
40 typename std::enable_if<
41 !HasParametersCheck<T, P&(T::*)()>::value &&
42 !HasModelCheck<T>::value,
size_t>::type
43 LayerSize(T* layer, P& output)
const;
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& output)
const;
55 template<
typename T,
typename P>
56 typename std::enable_if<
57 HasParametersCheck<T, P&(T::*)()>::value &&
58 !HasModelCheck<T>::value,
size_t>::type
59 LayerSize(T* layer, P& output)
const;
63 template<
typename T,
typename P>
64 typename std::enable_if<
65 HasParametersCheck<T, P&(T::*)()>::value &&
66 HasModelCheck<T>::value,
size_t>::type
67 LayerSize(T* layer, P& output)
const;
74 #include "weight_size_visitor_impl.hpp" boost::variant< 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 > *> MoreTypes
WeightSizeVisitor returns the number of weights of the given module.
size_t operator()(LayerType *layer) const
Return the number of weights.