12 #ifndef MLPACK_METHODS_ANN_VISITOR_REWARD_SET_VISITOR_IMPL_HPP 13 #define MLPACK_METHODS_ANN_VISITOR_REWARD_SET_VISITOR_IMPL_HPP 27 template<
typename LayerType>
35 layer.apply_visitor(*
this);
39 inline typename std::enable_if<
40 HasRewardCheck<T, double&(T::*)()>::value &&
41 HasModelCheck<T>::value,
void>::type
42 RewardSetVisitor::LayerReward(T* layer)
const 44 layer->Reward() = reward;
46 for (
size_t i = 0; i < layer->Model().size(); ++i)
54 inline typename std::enable_if<
55 !HasRewardCheck<T, double&(T::*)()>::value &&
56 HasModelCheck<T>::value,
void>::type
57 RewardSetVisitor::LayerReward(T* layer)
const 59 for (
size_t i = 0; i < layer->Model().size(); ++i)
67 inline typename std::enable_if<
68 HasRewardCheck<T, double&(T::*)()>::value &&
69 !HasModelCheck<T>::value,
void>::type
70 RewardSetVisitor::LayerReward(T* layer)
const 72 layer->Reward() = reward;
76 inline typename std::enable_if<
77 !HasRewardCheck<T, double&(T::*)()>::value &&
78 !HasModelCheck<T>::value,
void>::type
79 RewardSetVisitor::LayerReward(T* )
const Linear algebra utility functions, generally performed on matrices or vectors.
Definition: cv.hpp:1
RewardSetVisitor(const double reward)
Set the reward parameter given the reward value.
Definition: reward_set_visitor_impl.hpp:22
void operator()(LayerType *layer) const
Set the reward parameter.
Definition: reward_set_visitor_impl.hpp:28