12 #ifndef MLPACK_METHODS_ANN_VISITOR_GRADIENT_ZERO_VISITOR_IMPL_HPP 13 #define MLPACK_METHODS_ANN_VISITOR_GRADIENT_ZERO_VISITOR_IMPL_HPP 27 template<
typename LayerType>
30 LayerGradients(layer, layer->OutputParameter());
35 layer.apply_visitor(*
this);
39 inline typename std::enable_if<
40 HasGradientCheck<T, arma::mat&(T::*)()>::value,
void>::type
41 GradientZeroVisitor::LayerGradients(T* layer, arma::mat& )
const 43 layer->Gradient().zeros();
46 template<
typename T,
typename P>
47 inline typename std::enable_if<
48 !HasGradientCheck<T, P&(T::*)()>::value,
void>::type
49 GradientZeroVisitor::LayerGradients(T* , P& )
const
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: cv.hpp:1
void operator()(LayerType *layer) const
Set the gradient to zero.
Definition: gradient_zero_visitor_impl.hpp:28
GradientZeroVisitor()
Set the gradient to zero for the given module.
Definition: gradient_zero_visitor_impl.hpp:22