25 #include <gtest/gtest.h>
31 #define private public
46 double abs_diff = 1.0;
47 while (abs_diff > eps) {
48 mic::types::MatrixPtr<double> dx = fun.calculateGradient(x);
52 double value = fun.calculateValue(x);
53 ASSERT_EQ(
true, std::isfinite(value)) <<
" at iteration i=" << iteration;
56 abs_diff = std::abs(value - fun.minValue());
59 ASSERT_GE(eps, std::abs(fun.calculateValue(x) - fun.minValue()));
60 std::cout <<
" -> Converged after " << iteration <<
" iterations\n";
74 double abs_diff = 1.0;
75 while (abs_diff > eps) {
76 mic::types::MatrixPtr<double> dx = fun.calculateGradient(x);
80 double value = fun.calculateValue(x);
81 ASSERT_EQ(
true, std::isfinite(value)) <<
" at iteration i=" << iteration;
84 abs_diff = std::abs(value - fun.minValue());
87 ASSERT_GE(eps, std::abs(fun.calculateValue(x) - fun.minValue()));
88 std::cout <<
" -> Converged after " << iteration <<
" iterations\n";
100 size_t iteration = 0;
101 double abs_diff = 1.0;
102 while (abs_diff > eps) {
103 mic::types::MatrixPtr<double> dx = fun.calculateGradient(x);
107 double value = fun.calculateValue(x);
108 ASSERT_EQ(
true, std::isfinite(value)) <<
" at iteration i=" << iteration;
111 abs_diff = std::abs(value - fun.minValue());
114 ASSERT_GE(eps, std::abs(fun.calculateValue(x) - fun.minValue()));
115 std::cout <<
" -> Converged after " << iteration <<
" iterations\n";
128 size_t iteration = 0;
129 double abs_diff = 1.0;
130 while (abs_diff > eps) {
131 mic::types::MatrixPtr<double> dx = fun.calculateGradient(x);
135 double value = fun.calculateValue(x);
136 ASSERT_EQ(
true, std::isfinite(value)) <<
" at iteration i=" << iteration;
139 abs_diff = std::abs(value - fun.minValue());
142 ASSERT_GE(eps, std::abs(fun.calculateValue(x) - fun.minValue()));
143 std::cout <<
" -> Converged after " << iteration <<
" iterations\n";
Test fixture - artificial landscape - sphere function 20D (square function).
Test fixture - artificial landscape - Rosenbrock function 2D.
Test fixture - artificial landscape - sphere function 1D (square function).
TEST_F(Sphere1DLandscape, AdamID_Convergence)
AdamID - ADAM with integral and derivative coefficients.
Test fixture - artificial landscape - Beale's function 2D.
virtual void update(mic::types::MatrixPtr< eT > p_, mic::types::MatrixPtr< eT > dp_, eT learning_rate_, eT decay_=0.0)