13 #ifndef MLPACK_METHODS_ANN_VISITOR_REWARD_SET_VISITOR_HPP 14 #define MLPACK_METHODS_ANN_VISITOR_REWARD_SET_VISITOR_HPP 19 #include <boost/variant.hpp> 34 template<
typename LayerType>
44 typename std::enable_if<
45 HasRewardCheck<T, double&(T::*)()>::value &&
46 HasModelCheck<T, std::vector<LayerTypes>&(T::*)()>::value,
void>::type
52 typename std::enable_if<
53 !HasRewardCheck<T, double&(T::*)()>::value &&
54 HasModelCheck<T, std::vector<LayerTypes>&(T::*)()>::value,
void>::type
60 typename std::enable_if<
61 HasRewardCheck<T, double&(T::*)()>::value &&
62 !HasModelCheck<T, std::vector<LayerTypes>&(T::*)()>::value,
void>::type
68 typename std::enable_if<
69 !HasRewardCheck<T, double&(T::*)()>::value &&
70 !HasModelCheck<T, std::vector<LayerTypes>&(T::*)()>::value,
void>::type
78 #include "reward_set_visitor_impl.hpp"
Linear algebra utility functions, generally performed on matrices or vectors.
RewardSetVisitor(const double reward)
Set the reward parameter given the reward value.
RewardSetVisitor set the reward parameter given the reward value.
const double reward
The reward value.
std::enable_if< HasRewardCheck< T, double &(T::*)()>::value &&HasModelCheck< T, std::vector< LayerTypes > &(T::*)()>::value, void >::type LayerReward(T *layer) const
Set the deterministic parameter if the module implements the Deterministic() and Model() function...
void operator()(LayerType *layer) const
Set the reward parameter.