25 #include <gtest/gtest.h>
31 #define private public
51 double abs_diff = 1.0;
52 while (abs_diff > eps) {
53 mic::types::MatrixPtr<double> dx = fun.calculateGradient(x);
58 double value = fun.calculateValue(x);
59 ASSERT_EQ(
true, std::isfinite(value)) <<
" at iteration i=" << iteration;
62 abs_diff = std::abs(value - fun.minValue());
65 ASSERT_GE(eps, std::abs(fun.calculateValue(x) - fun.minValue()));
66 std::cout <<
" -> Converged after " << iteration <<
" iterations\n";
80 double abs_diff = 1.0;
81 while (abs_diff > eps) {
82 mic::types::MatrixPtr<double> dx = fun.calculateGradient(x);
87 double value = fun.calculateValue(x);
88 ASSERT_EQ(
true, std::isfinite(value)) <<
" at iteration i=" << iteration;
91 abs_diff = std::abs(value - fun.minValue());
94 ASSERT_GE(eps, std::abs(fun.calculateValue(x) - fun.minValue()));
95 std::cout <<
" -> Converged after " << iteration <<
" iterations\n";
Test fixture - artificial landscape - sphere function 20D (square function).
Test fixture - artificial landscape - sphere function 1D (square function).
TEST_F(Sphere1DLandscape, RMSProp_Convergence)
virtual void update(mic::types::MatrixPtr< eT > p_, mic::types::MatrixPtr< eT > dp_, eT learning_rate_, eT decay_=0.0)
Update using RMSProp - adaptive gradient descent with running average E[g^2].