25 #include <gtest/gtest.h>
31 #define private public
50 double abs_diff = 1.0;
51 while (abs_diff > eps) {
52 mic::types::MatrixPtr<double> dx = fun.calculateGradient(x);
57 double value = fun.calculateValue(x);
58 ASSERT_EQ(
true, std::isfinite(value)) <<
" at iteration i=" << iteration;
61 abs_diff = std::abs(value - fun.minValue());
64 ASSERT_GE(eps, std::abs(fun.calculateValue(x) - fun.minValue()));
65 std::cout <<
" -> Converged after " << iteration <<
" iterations\n";
79 double abs_diff = 1.0;
80 while (abs_diff > eps) {
81 mic::types::MatrixPtr<double> dx = fun.calculateGradient(x);
86 double value = fun.calculateValue(x);
87 ASSERT_EQ(
true, std::isfinite(value)) <<
" at iteration i=" << iteration;
90 abs_diff = std::abs(value - fun.minValue());
93 ASSERT_GE(eps, std::abs(fun.calculateValue(x) - fun.minValue()));
94 std::cout <<
" -> Converged after " << iteration <<
" iterations\n";
Test fixture - artificial landscape - sphere function 20D (square function).
TEST_F(Sphere1DLandscape, DISABLED_AdaGrad_Convergence)
Test fixture - artificial landscape - sphere function 1D (square function).
virtual void update(mic::types::MatrixPtr< eT > p_, mic::types::MatrixPtr< eT > dp_, eT learning_rate_, eT decay_=0.0)
Update using AdaGrad - adaptive gradient descent.