13 #ifndef MLPACK_METHODS_ANN_VISITOR_LOSS_VISITOR_HPP 14 #define MLPACK_METHODS_ANN_VISITOR_LOSS_VISITOR_HPP 18 #include <boost/variant.hpp> 30 template<
typename LayerType>
36 typename std::enable_if<
37 !HasLoss<T, double(T::*)()>::value &&
38 !HasModelCheck<T>::value,
double>::type
39 LayerLoss(T* layer)
const;
43 typename std::enable_if<
44 HasLoss<T, double(T::*)()>::value &&
45 !HasModelCheck<T>::value,
double>::type
46 LayerLoss(T* layer)
const;
50 typename std::enable_if<
51 !HasLoss<T, double(T::*)()>::value &&
52 HasModelCheck<T>::value,
double>::type
53 LayerLoss(T* layer)
const;
57 typename std::enable_if<
58 HasLoss<T, double(T::*)()>::value &&
59 HasModelCheck<T>::value,
double>::type
60 LayerLoss(T* layer)
const;
67 #include "loss_visitor_impl.hpp"
LossVisitor exposes the Loss() method of the given module.
double operator()(LayerType *layer) const
Return the Loss.